【问题标题】:Android Eclipse ADT Release building project does not remove debug fieldsAndroid Eclipse ADT Release 构建项目不删除调试字段
【发布时间】:2014-05-14 02:10:37
【问题描述】:

目前我正在尝试使用 Eclipse ADT 导出工具和使用 Proguard 构建的私有密钥库来构建发布 apk 文件。但它永远不会从项目中删除调试。 考虑到 Android 已经更新为不添加 android:debuggable="false" 因为在 Android 中实现了新技术。尽管使用签名的密钥库和启用的 proguard 导出项目,但它仍然永远不会从项目中删除调试代码。 我目前在 Android SDK 的 r22 上。 有没有人知道为什么这会是一个问题?启用 proguard 是否意味着它用于发布 apk 文件或密钥库?

代码:

if (BuildConfig.DEBUG) {
     startActivity(new Intent().setClass(this, Testing.class));
                } else {
      startActivity(new Intent().setClass(this, TestingB.class));
 }

【问题讨论】:

  • “它从不删除调试代码”是什么意思?
  • 提供您的“调试代码”示例
  • 我尝试使用 android:debuggable="false" 构建应用程序并删除它,两次它仍然保持调试。

标签: java android eclipse adt


【解决方案1】:

这是Android平台的known bug。我们在项目中所做的是添加一个名为 Constants.DEBUG 的公共静态布尔常量,并使用它来代替 BuildConfig.DEBUG。

【讨论】:

  • 那么您将如何删除日志?
  • 顺便说一句,#58 问题有效,我们需要禁用自动构建并尝试单独构建它,如果有的话,单独清理库。
  • 我们所做的是将 log.e() 与 MyLog.e() 包装起来,MyLog 检查是否设置了常量。
猜你喜欢
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多