Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova 如何防止proguard break phonegap应用程序_Cordova_Proguard_Obfuscation_Cordova Plugin Proguard - Fatal编程技术网

Cordova 如何防止proguard break phonegap应用程序

Cordova 如何防止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

试图混淆我的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.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版本是什么?