我正在webview.loadURL中加载javascript,但javascript没有在发布版本中加载以进行调试和发布';很好 webview正在调试和发布版本中加载javascript文件,但在发布版本中不工作 这是我的java部分代码 这是
我正在webview.loadURL中加载javascript,但javascript没有在发布版本中加载以进行调试和发布';很好 webview正在调试和发布版本中加载javascript文件,但在发布版本中不工作 这是我的java部分代码 这是build.gradle文件的发布部分,我在proguard.pro文件中也做了一些更改,但它不起作用 这是我的proguard文件我做了一些更改但没有成功我正在webview.loadURL中加载javascript,但javascript没有在发布版本中加载以进行调试和发布';很好 webview正在调试和发布版本中加载javascript文件,但在发布版本中不工作 这是我的java部分代码 这是,java,android,webview,Java,Android,Webview,我正在webview.loadURL中加载javascript,但javascript没有在发布版本中加载以进行调试和发布';很好 webview正在调试和发布版本中加载javascript文件,但在发布版本中不工作 这是我的java部分代码 这是build.gradle文件的发布部分,我在proguard.pro文件中也做了一些更改,但它不起作用 这是我的proguard文件我做了一些更改但没有成功 -keepclassmembers类fqcn.of.javascript.interf
-keepclassmembers类fqcn.of.javascript.interface.for.webview{
公众*;
}
-keep class*扩展了java.util.ListResourceBundle{
受保护对象[][]getContents();
}
-保持公共类com.google.android.gms.common.internal.safeparcel.SafeParcelable{
公共静态最终***空;
}
-keepnames@com.google.android.gms.common.annotation.KeepName类*
-keepclassmembernames类*{
@com.google.android.gms.common.annotation.KeepName*;
}
-keepnames类*实现android.os.Parcelable{
公共静态最终**创建者;
}
#要删除的警告。否则maven插件会停止,但并不危险
-dontwarn android.support**
-dontwarn com.sun.xml.internal**
-dontwarn com.sun.istack.internal**
-dontwarn org.codehaus.jackson**
-dontwarn org.springframework**
-dontwarn java.awt**
-dontwarn javax.security**
-dontwarn java.bean**
-dontwarn javax.xml**
-dontwarn java.util**
-dontwarn org.w3c.dom**
-dontwarn com.google.common**
-dontwarn com.octo.android.robospice.persistence**
-dontwarn com.viewpagerindicator.LinePageIndicator
-keepclassmembers类com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface{
公众*;
}
-keepattributes JavascriptInterface
-保留公共类com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface
-keep public class*实现com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface
-keepclassmembers类com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface{
;
}
-keepattributes*注释*
-keepattributes封闭方法
-keepclassmembers类*{
@android.webkit.JavascriptInterface;
}
-keepclassmembers类**.*$MyJavascriptInterface{
*;
}
-keepclassmembers类**.*$JavaScriptInterface{
*;
}
-保持公共类**.*$MyJavaScriptInterface
-保持公共类**.*$JavaScriptInterface
-保持公共类org.jsoup.*{
公众*;
}
-保持类com.enerjisa.perakende.mobilislem.model.*{*;}
-保持类com.enerjisa.perakende.mobilislem.vo.*{*;}
-保留类com.enerjisa.perakende.mobilislem.nmodel.*{*;}
-保持类pl.droidsonroids.gif.*{*;}
-保持类rx.*{*;}
-保留类android.support.v8.renderscript.*{*;}
#忽略警告:我们没有使用DOM模型
-dontwarn com.fasterxml.jackson.databind.ext.DOMSerializer
#保留杰克逊的东西
-保持类org.codehaus.*{*;}
-保留类com.fasterxml.jackson.annotation.*{*;}
-保持类com.netmera.*{*;}
#不断改进
-保持类更新。**{*;}
-keepclassswithmembers类*{
@改装。***;
}
-keepclassmembers类*{
@改装。***;
}
-保持类com.useinsider.insider.*{*;}
-dontwarn info.guardianproject.netcipher**
-保持类com.github.mikephil.charting.*{*;}
-KeepClassSwithMembers类com.enerjisa.perakende.mobilislem.fragments.anket.edit.RadiosinglesElectrender.*{*}
-KeepClassSwithMembers类com.enerjisa.perakende.mobilislem.fragments.anket.view.anketViewFragments.*{*}
-KeepClassSwithMembers类com.enerjisa.perakende.mobilislem.rest.services.*{*;}
-KeepClassSwithMembers类com.enerjisa.perakende.mobilislem.utils.RealmHelper.*{*}
-保留类com.enerjisa.perakende.mobilislem.utils.AppVersion{*;}
-保留类com.enerjisa.perakende.mobilislem.fragments.paybill.*{*;}
-KeepClassSwithMembers类cn.com.broadlink.*{*;}
-保持类com.netmera.*{*;}
-保留署名
#用于使用GSON@Expose注释
-keepattributes*注释*
#Gson特定类
-保持类sun.misc.Unsafe{*;}
#-保持类com.google.gson.stream.*{*;}
#将通过Gson进行序列化/反序列化的应用程序类
-保持类com.google.gson.examples.android.model.*{*;}
#防止proguard从TypeAdapterFactory中剥离接口信息,
#JsonSerializer、JsonDeserializer实例(因此可以在@JsonAdapter中使用)
-keep类*实现com.google.gson.TypeAdapterFactory
-keep class*实现com.google.gson.JsonSerializer
-keep类*实现com.google.gson.JsonDeserializer
-keep public类*实现com.google.android.gms.internal.zzbfm
-keep public类*实现com.bumptech.glide.module.GlideModule
-保持公共类*扩展com.bumptech.glide.module.AppGlideModule
-保持公共枚举com.bumptech.glide.load.ImageHeaderParser$**{
**[]美元价值;
公众*;
}
-保持类com.google.android.gms.*{*;}
-dontwarn com.google.android.gms**
-dontwarn com.google.android.material**
-保持类com.google.android.material.*{*;}
-唐特沃恩·安德烈克斯**
-保持类androidx.*{*;}
-保持接口androidx.*{*;}
-dontwarn android.support.v4**
-keep类android.support.v4.*{*;}
-dontwarn android.support.v7**
-keep类android.support.v7.*{*;}
-dontwarn com.squareup**
-唐特沃恩·奥基奥**
-保持类com.shockwave**
-keepclassmembers类com.shockwave.*{*;}
-保持类com.google.firebase.iid.FirebaseInstanceId{zza(…);}
您解决了这个问题吗?您解决了这个问题吗?
webview = (WebView) view.findViewById(R.id.webView);
//change detected
WebSettings settings = webview.getSettings();
//java script is used here
//change
settings.setJavaScriptEnabled(true);
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowFileAccess(true);
settings.setDomStorageEnabled(true);
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
settings.setBuiltInZoomControls(true);
settings.setDisplayZoomControls(false);
// settings.setSupportZoom(true);
settings.setDefaultTextEncodingName("utf-8");
webview.getSettings().setPluginState(WebSettings.PluginState.ON);
webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
progressBar = ProgressDialog.show(getActivity(), "", getString(R.string.loading_text));
if (Build.VERSION.SDK_INT >= 17) {
webview.addJavascriptInterface(new MyJavascriptInterface(getContext()), "android");
}
else
{
webview.addJavascriptInterface(new MyJavascriptInterface(getContext()), "android");
}
webview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, final String url) {
if (url.contains("ReturnUrl") && mContext != null) {
((Activity) mContext).runOnUiThread(new Runnable() {
@Override
public void run() {
String js = "javascript:android.opbel(document.getElementById('EReceipt').value);";
webview.loadUrl(js);
}
//
});
release {
minifyEnabled true
signingConfig signingConfigs.release
versionNameSuffix "-beta"
signingConfig signingConfigs.release
buildConfigField "String", "LET_CHANNEL", "\"\""
proguardFiles(file("$buildDir/../proguard").listFiles())
ext.betaDistributionEmailsFilePath = "$buildDir/../beta_distribution_emails_debug.txt"
//buildConfigField "String", "PREFS_TOKEN", "\"""
buildConfigField "String", "SERVICE_ROOT_URL", "\"""
buildConfigField "Boolean", "PRODUCTION", "true"
buildConfigField "String", "ADJUST_TOKEN", keystoreProperties['adjustToken']
buildConfigField "String", "KP", keystoreProperties['sslKeystorePass']
buildConfigField "String", "MAPS", "\"""
}
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
#Warnings to be removed. Otherwise maven plugin stops, but not dangerous
-dontwarn android.support.**
-dontwarn com.sun.xml.internal.**
-dontwarn com.sun.istack.internal.**
-dontwarn org.codehaus.jackson.**
-dontwarn org.springframework.**
-dontwarn java.awt.**
-dontwarn javax.security.**
-dontwarn java.beans.**
-dontwarn javax.xml.**
-dontwarn java.util.**
-dontwarn org.w3c.dom.**
-dontwarn com.google.common.**
-dontwarn com.octo.android.robospice.persistence.**
-dontwarn com.viewpagerindicator.LinePageIndicator
-keepclassmembers class com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface {
public *;
}
-keepattributes JavascriptInterface
-keep public class com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface
-keep public class * implements com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface
-keepclassmembers class com.enerjisa.perakende.mobilislem.fragments.paybill.PayBillFragment.MyJavascriptInterface{
<methods>;
}
-keepattributes *Annotation*
-keepattributes EnclosingMethod
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class **.*$MyJavascriptInterface {
*;
}
-keepclassmembers class **.*$JavaScriptInterface {
*;
}
-keep public class **.*$MyJavascriptInteface
-keep public class **.*$JavaScriptInterface
-keep public class org.jsoup.** {
public *;
}
-keep class com.enerjisa.perakende.mobilislem.model.* { *; }
-keep class com.enerjisa.perakende.mobilislem.vo.* { *; }
-keep class com.enerjisa.perakende.mobilislem.nmodel.* { *; }
-keep class pl.droidsonroids.gif.** { *; }
-keep class rx.** { *; }
-keep class android.support.v8.renderscript.** { *; }
# Ignore warnings: We are not using DOM model
-dontwarn com.fasterxml.jackson.databind.ext.DOMSerializer
# Keep Jackson stuff
-keep class org.codehaus.** { *; }
-keep class com.fasterxml.jackson.annotation.** { *; }
-keep class com.netmera.** { *; }
# Keep Retrofit
-keep class retrofit.** { *; }
-keepclasseswithmembers class * {
@retrofit.** *;
}
-keepclassmembers class * {
@retrofit.** *;
}
-keep class com.useinsider.insider.** { *; }
-dontwarn info.guardianproject.netcipher.**
-keep class com.github.mikephil.charting.** { *; }
-keepclasseswithmembers class com.enerjisa.perakende.mobilislem.fragments.anket.edit.RadioSingleSelectRenderer.** {*;}
-keepclasseswithmembers class com.enerjisa.perakende.mobilislem.fragments.anket.view.AnketViewFragment.** {*;}
-keepclasseswithmembers class com.enerjisa.perakende.mobilislem.rest.services.** {*;}
-keepclasseswithmembers class com.enerjisa.perakende.mobilislem.utils.RealmHelper.** {*;}
-keep class com.enerjisa.perakende.mobilislem.utils.AppVersion {*;}
-keep class com.enerjisa.perakende.mobilislem.fragments.paybill.**{*;}
-keepclasseswithmembers class cn.com.broadlink.** {*;}
-keep class com.netmera.** { *; }
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keep public class * implements com.google.android.gms.internal.zzbfm
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
-dontwarn com.google.android.material.**
-keep class com.google.android.material.** { *; }
-dontwarn androidx.**
-keep class androidx.** { *; }
-keep interface androidx.** { *; }
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-dontwarn com.squareup.**
-dontwarn okio.**
-keep class com.shockwave.**
-keepclassmembers class com.shockwave.** { *; }
-keep class com.google.firebase.iid.FirebaseInstanceId { zza(...); }