Android Studio:为什么发布版本仍可调试?

3

我已经花费数小时使用Android Studio生成一个不可调试的发布版本,以便上传到Google Play。但是,遗憾的是这并没有起作用。当我尝试上传apk时,会出现以下错误:

You uploaded a debuggable APK. For security reasons you need to disable debugging before it can be published in Google Play

这不是重复的问题。我尝试了与相关问题中提到的所有方法...
更新:
我已解码生成的apk文件。BuildConfig.class看起来像这样:
public final class BuildConfig
{
  public static final String APPLICATION_ID = "com.myapplication.packagename";
  public static final String BUILD_TYPE = "release";
  public static final boolean DEBUG = false;
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 2;
  public static final String VERSION_NAME = "1.0.1";
}

因此,构建类型实际上是发布,而调试设置为

但在AndroidManifest.xml文件中,gradle已经放置了

<application android:debuggable="true"...

Debuggable的值被设置为true!怎么回事?


为什么不将debuggable设置为false呢?也许在你想要编译发布版本时,调试版本的flavor被触发了。从那里开始跟踪。 - Elye
你的发布 APK 是否有单独的签名? - Elye
祝你好运。希望你能从那里找到问题的根源。 - Elye
@Elye 我感觉我快疯了。我上传了两个调试版本的代码,但都将debuggable设置为false - 它还是不起作用!你还有什么其他想法吗? - sjkm
你签名了你的发布版apk吗?请在此链接中查看如何在发布模式下进行签名:http://developer.android.com/tools/publishing/app-signing.html。 - Elye
显示剩余7条评论
1个回答

3

我终于找到了原因并解决了这个问题!

原因是我引用了具有debuggable="true"标记的AndroidManifest.xml的库模块。我将它们改为"false",现在它可以正常工作了!

我不知道为什么Android Studio会选择这个 "info" 覆盖gradle设置... 无论如何,我很高兴它现在能正常工作了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接