phi*_*use 7 android proguard cordova
我已经将一个版本从Phonegap(Cordova)2.0升级到2.4,一切都在dev中工作正常,直到我真正来测试最终版本apk.在经过大量浪费后,我发现的是,由于某种原因,现在当我运行构建时,我的proguard配置以某种方式打破了phonegap构建,这意味着当它运行时,从未调用过设备.在构建时似乎没有错误,也没有任何错误,只要我能看到,但我猜测有些东西在cordova js中默默地失败,因为我没有在设备上获得编译/日志错误.
正如我所说,这只是在构建过程中运行Proguard obfs时.如果我关闭Proguard它一切正常.我将我的所有代码恢复到2.0以确定并且这一切都很好所以在某个地方出现了一个看似没有记录/或者还没有人发现的变化(2.4仅在几周前出现 - 在写作时间2013年2月26日).
我的Proguard配置包含以下的phonegap(以及其他一些标准配置)
-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.**
Run Code Online (Sandbox Code Playgroud)
并且反编译dex似乎没有任何亮点 - 一切看起来都一目了然......
有人有主意吗???
Ste*_*the 11
尝试使用以下行替换proguard-project.txt中的Cordova"keep"设置,该行应该维护所有Cordova类,字段和方法,包括公共和私有(并因此重新启用设备准备):
-keep class org.apache.cordova.**{*; }
然后你只需要包括你的类(可能扩展CordovaPlugin,而不仅仅是插件),例如
v3之前:
-keep public class * extends org.apache.cordova.api.CordovaPlugin
Run Code Online (Sandbox Code Playgroud)
V3 +:
-keep public class * extends org.apache.cordova.CordovaPlugin
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3726 次 |
最近记录: |