1

当我使用 Run as --> Android Application 在设备上测试我的应用程序时,Phonegap 功能工作正常。

当我使用 Eclipse 导出 .apk 文件并在设备上运行它时,Phonegap 功能不起作用。我认为这可能是 Proguard 问题。我该如何解决这个问题?

proguard-properties.txt

-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.**
-libraryjars /path/to/adt-bundle-mac/sdk/tools/lib/commons-codec-1.4.jar
-dontwarn android.webkit.*
4

2 回答 2

1

这有效:

-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.**
-dontwarn android.webkit.*
-dontwarn org.apache.**
-keep public class * extends org.apache.cordova.api.CordovaPlugin
-keep class org.apache.cordova.** { *; }

Phonegap 2.4 Android Proguard 配置

于 2013-05-17T17:53:43.610 回答
-1

我用过:-keep class org.apache.cordova.** { *; } 虽然 proguarding 我的科尔多瓦应用程序,但它没有工作。但是当我在所有java文件的'-keep'语句之后编写相同的语句时,它工作得非常好。(可能是因为在保留所有cordova函数之后,保持java函数覆盖并再次排除cordova函数)。但是我的一个项目更改顺序并不重要,而其中一个仅在更改顺序后才起作用,即通过编写 -keep class org.apache.cordova.** { *; proguard 配置文件末尾的 } 语句。

于 2017-01-09T10:54:14.690 回答