【问题标题】:Google Play says my APK built with Android Studio Build->Generate Signed APK is debuggableGoogle Play 说我使用 Android Studio Build->Generate Signed APK 构建的 APK 是可调试的
【发布时间】:2014-01-04 15:53:33
【问题描述】:

我收到消息:您上传了一个可调试的 APK。出于安全原因,您需要先禁用调试,然后才能在 Google Play 中发布它。详细了解可调试的 APK。

我使用 Android Studio 生成我的 APK,Build->Generate Signed APK。我创建了一个密钥库。

【问题讨论】:

  • 您是否在清单中禁用了调试功能?

标签: android debugging google-play android-studio android-keystore


【解决方案1】:

借助 android studio 中功能强大的 gradle 构建系统,您无需接触代码即可完成。您还可以使用 debuggable false 进行调试构建,以测试有什么区别

  buildTypes {

      debug {
         runProguard false/true
         proguardFile getDefaultProguardFile('proguard-android.txt')
         debuggable false/true

      }

      release {
         runProguard true/false
         proguardFile getDefaultProguardFile('proguard-android.txt')
         debuggable false/true

      }
  }

Gradle 的力量。

注意:如果在构建配置中有可调试的 false,即使是在设备中运行的应用程序,您也无法在设备信息下的 DDMS 左侧窗格中看到该进程。

【讨论】:

  • 您具体在哪里进行此更改?
  • 它在模块的build.gradle文件中,debug和release是Android Studio中创建/导入的每个项目的默认构建类型。
  • 明白了,谢谢——我以为我打开了一切。错过了那个
【解决方案2】:

如果您的应用程序清单中有标签 android:debuggable="true",或者如果您没有它,请尝试更改它/将其放入您的 应用程序 清单标签中:

 android:debuggable="false"

【讨论】:

  • @zyngawow 对于某些版本的 Android Studio,您似乎必须明确定义它。不知道为什么。
  • 使用 Gradle 时不适用。
【解决方案3】:

检查 gen 文件夹中 BuildConfig.java 文件中的 DEBUG 值。有时,如果我们不进行干净的构建,这个值仍然是正确的。

最好是做一个干净的发布版本。

【讨论】:

    【解决方案4】:

    如果您使用 Gradle(如您所愿)设置调试和发布变量,然后转到您的构建变量选项卡并选择发布风格。 构建项目,如果一切设置正确,您的 apk 应该在项目的 build/apk 文件夹中。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题。此外,如果您使用的是 Android Studio,清单文件中的 android:debuggable 已被弃用;你不应该在那里。在我的情况下,问题是系统合并了一些组件类的调试版本,当我从调试版本切换到发布版本时,这些版本没有得到重建(正如我假设的那样)。一旦我(从菜单中)选择 Build->Clean Project,一切正常。

      【讨论】:

        猜你喜欢
        • 2019-06-23
        • 1970-01-01
        • 2020-08-26
        • 1970-01-01
        • 2015-02-24
        • 1970-01-01
        • 1970-01-01
        • 2017-03-18
        • 2015-06-15
        相关资源
        最近更新 更多