Cordova 如何防止proguard break phonegap应用程序
试图混淆我的phonegap应用程序 发射后,我得到了 367 D/CordovaLog(30913):file:///android_asset/www/cordova.js: 第913行:未捕获类型错误:对象[Object Object]没有方法“exec” 我想我尝试了网络上提到的所有选项,这是我的proguard-project.txtCordova 如何防止proguard break phonegap应用程序,cordova,proguard,obfuscation,cordova-plugin-proguard,Cordova,Proguard,Obfuscation,Cordova Plugin Proguard,试图混淆我的phonegap应用程序 发射后,我得到了 367 D/CordovaLog(30913):file:///android_asset/www/cordova.js: 第913行:未捕获类型错误:对象[Object Object]没有方法“exec” 我想我尝试了网络上提到的所有选项,这是我的proguard-project.txt -keep public class * extends com.phonegap.api.Plugin -keep public class org
-keep public class * extends com.phonegap.api.Plugin
-keep public class org.apache.cordova.**
-keep class org.apache.cordova.** { *; }
-keep public class * extends org.apache.cordova.CordovaPlugin
-keep public class * extends org.apache.cordova.api.CordovaPlugin
-keep public class * extends com.phonegap.api.Plugin
-keep public class * extends org.apache.cordova.api.Plugin
-keep public class org.apache.cordova.DroidGap
-keep public class org.apache.cordova.**
-keep public class org.apache.**
-keep public class com.kazem.**
-keep public class nl.**
-dontwarn android.webkit.*
-dontwarn org.apache.**
-dontwarn android.support.v7.widget.**
-dontwarn com.google.android.gms.**
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-keepdirectories
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
-保留公共类*扩展com.phonegap.api.Plugin
-保持公共类org.apache.cordova.*
-保持类org.apache.cordova.*{*;}
-keep public class*扩展org.apache.cordova.cordova插件
-keep public class*扩展org.apache.cordova.api.CordovaPlugin
-keep public class*扩展com.phonegap.api.Plugin
-keep public class*扩展org.apache.cordova.api.Plugin
-保持公共类org.apache.cordova.DroidGap
-保持公共类org.apache.cordova**
-保持公共类org.apache**
-保持公共类com.kazem**
-保持公共类nl**
-dontwarn android.webkit*
-dontwarn org.apache**
-dontwarn android.support.v7.widget**
-dontwarn com.google.android.gms**
-优化过程5
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-不要翻转
-冗长的
-保留董事
-优化!代码/简化/算术,!字段/*,!类/合并/*
-keep public class*扩展android.app.Activity
-keep public class*扩展android.app.Application
-keep public class*扩展了android.app.Service
-keep public class*扩展了android.content.BroadcastReceiver
-keep public class*扩展了android.content.ContentProvider
-keep public class*扩展了android.app.backup.BackupAgentHelper
-keep public class*扩展了android.preference.preference
-保持公共类com.android.vending.licensing.ILicensingService
-KeepClassSwithMemberNames类*{
本地人;
}
-keepclassswithmembers类*{
public(android.content.Context、android.util.AttributeSet);
}
-keepclassswithmembers类*{
public(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembers类*扩展了android.app.Activity{
public void*(android.view.view);
}
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
-keep class*实现android.os.Parcelable{
公开静态最终android.os.Parcelable$Creator*;
}
-keepclassmembers类*{
@android.webkit.JavascriptInterface;
}
我用过:
-keep public class * extends org.apache.cordova.CordovaPlugin
-keep public class * extends com.phonegap.api.Plugin
-keep class org.apache.cordova.** { *; }
-dontwarn android.webkit.*
1) .project.properties文件中的以下行取消注释
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
2) .AndroidSDk/tools/proguard/proguard-project.txt中添加以下行,因为我们的项目使用带JS的WebView,所以我们必须为JavaScript接口类指定完全限定的类名:
-keep public class * extends org.apache.cordova.CordovaPlugin
-keep public class * extends com.phonegap.api.Plugin
-keep class org.apache.cordova.** { *; }
-dontwarn android.webkit.*
3) .构建Android项目。
4) .将“proguard-project.txt”文件从“AndroidSDk/tools/proguard/proguard-project.txt”复制到android文件夹中。5) .导出签名包:右键单击项目>android工具>导出签名应用程序包您使用的phonegap版本是什么?