【发布时间】:2011-12-16 23:21:30
【问题描述】:
我想在发布模式下创建我的 Android 应用。我做了建议的从 Eclipse 导出。 Android工具->未分配的导出(然后对其进行签名等)我虽然导出会给我发布模式应用程序。我检查了磁盘,.apk 的大小与我通常在 Eclipse 中编译时得到的大小相同。
此外,我通过 >adb install myapp.apk 将它安装在模拟器中,然后我尝试在 Eclipse 调试器中附加到应用程序,果然它击中了我的断点。所以我确信我确实有一个调试版本。问题是如何在签名并提交到市场之前从 Eclipse 创建我的应用程序的发布模式版本?
编辑
如果我记录它,则可调试标志在导出时关闭,从 Eclipse 运行时也是如此。除非我在清单应用程序部分明确将其设置为 true。似乎调试/发布模式只是一个开/关标志。仅此而已,我可以设置断点并调试两个版本。生成的 .apk 大小相同。
cxLog.e( "TOKEN", " Debuggable=" + (( context.getPackageManager().getApplicationInfo( comp.getPackageName(), 0 ).flags &= ApplicationInfo.FLAG_DEBUGGABLE ) != 0 ) );
10-28 14:46:12.479: ERROR/TOKEN(1856): Debuggable=false
【问题讨论】:
-
好问题。我是 android 开发的新手,在我看来应该是一键式过程(以发布模式导出),实际上是一个可怕的选项纲要,编辑代码以删除日志调用,优化(或不优化)等。也许是 Android 开发团队缺乏成熟领导力的一个标志。我看到这被标记为已回答 - 但解决方案是什么?我在 SDK 16 上,遇到了同样的问题......我开始阅读 Android 文档 - 所以返回的链接对我没有帮助......