【发布时间】:2013-12-06 00:18:09
【问题描述】:
最近,Google Play 商店似乎强制要求所有上传的应用程序必须在 AndroidManifest.xml 文件中设置 android:debuggable="false"。我之前设置了android:debuggable="true"。
但是,当我设置android:debuggable="false" 时,我的ant clean release 在-obfuscate: 步骤中爆炸。
ProGuard 似乎是罪魁祸首:
/usr/local/Cellar/android-sdk/r21.1/tools/ant/build.xml:875: Can't write [/Users/-/Code/android/bin/proguard/obfuscated.jar] (Can't read [/Users/-/Code/android/libs/android-async-http-1.4.3-no-redirect.jar] (Duplicate zip entry [com/a/a/a/b.class == android-async-http-1.4.3-no-redirect.jar:com/loopj/android/http/AsyncHttpClient$1.class]))
关于如何进行的任何指导?使用android:debuggable="true" 进行发布构建与使用android:debuggable="false" 进行发布构建时,混淆步骤有何变化?
一些额外的细节:
- 做一个标准
ant clean release - 项目实际上是用 Scala 编写的
- 使用 17 级构建工具
- ProGuard 4.4
【问题讨论】:
-
你确定是设置 android:debuggable 导致的问题吗?请注意,默认值为 false,因此您可以将其删除并尝试重新构建。
-
奇怪的是——我确实是。它在
android:debuggable="true"时发布版本有效,当我删除该属性或将其设置为android:debuggable="false"时它会失败
标签: android scala ant proguard