![](/img/trans.png)
[英]Application is debuggable in Android emulator even in release apk with debuggable=false
[英]Why does building a release APK fail only when android:debuggable=“false” is set?
最近,Google Play商店似乎正在强制所有上传的应用程序必须在AndroidManifest.xml
文件中设置android:debuggable="false"
。 我以前设置了android:debuggable="true"
。
但是,当我设置android:debuggable="false"
我的ant clean release
在-obfuscate:
步骤中-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
原来我在proguard-project.txt
包含了一些第三方库,如下所示:
-injar "libs/android-async-http-1.4.3-no-redirect.jar"
我删除了所有-injar
库,并用debug-obfuscation-check
任务替换了我的ant build.xml
的proguard post-compile
步骤:
<target name="-debug-obfuscation-check">
<property name="proguard.enabled" value="true" />
<path id="out.dex.jar.input.ref" />
</target>
仍然不确定发生了什么。 显然,在-injars
对库使用-injars
是非常糟糕的做法(根据ProGuard手册)。 我将其他一切归咎于将scala用于Android项目的麻烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.