我试图在启用混淆的情况下构建基于cordova的应用程序 IBM MobileFirst Platform Foundation版本为7.1.0.00.20151227-1730。
我的步骤:
- 创建新的经典mfp
项目(用作环境运行时)
- 使用Android Env创建新的mfp cordova
项目(用作客户端应用程序)
- push
新客户端应用到环境中
- 在proguard.config
中取消注释project.properties
选项
- 在project.properties
中添加适当的密钥库配置
- 配置应用程序以释放
- 像往常一样运行ant release
输出:
我收到了大量的警告
[proguard] Note: duplicate definition of program class ...
然后建立failes
[proguard] Warning: there were 1 unresolved references to program class members.
[proguard] Your input classes appear to be inconsistent.
[proguard] You may need to recompile them and try again.
[proguard] Alternatively, you may have to specify the option
[proguard] '-dontskipnonpubliclibraryclassmembers'.
BUILD FAILED
这是在新创建的项目上。没有改变。刚刚添加了密钥库。
我应该如何正确配置ProGuard?
答案 0 :(得分:0)
您的案例中的问题与字段或方法上具有打包私有访问修饰符的类有关。这些默认情况下会被混淆。因此警告“警告:程序类成员有1个未解析的引用。”
根据建议你可以在proguard-project.txt中使用-dontskipnonpubliclibraryclassmembers(见下文)。 有关此参数和其他配置参数的详细信息,请查看http://proguard.sourceforge.net/manual/usage.html
更改proguard-project.txt中的android / proguard配置(参见http://tools.android.com/recent/proguardimprovements)