繁体   English   中英

Android中的发布与调试构建差异

[英]Release vs debug build differences in Android

总而言之,我们面临一个奇怪的问题,即我们的应用程序在调试版本变体中运行良好。 但它无法在发布版本变体上正确执行。 甚至奇怪的是,如果我们为发布版本变体设置debuggable为true,它可以正常工作。 两种变体都禁用了Proguard。

我试图了解android中的发布和调试版本变体之间的区别。 你能指点我帮助我理解差异的任何资源吗?

谢谢

以下作品。 但是如果我删除了debuggable,它就无法正常工作。 调试构建始终有效。

buildTypes {
    release {
        debuggable true
        signingConfig signingConfigs.release
    }
    debug {
        signingConfig signingConfigs.debug
    }
}

也许这个问题与apk的签名有关。 如果您使用debuggable true那么您的应用程序将使用通用调试密钥库进行签名,一切正常。 相反,如果你删除它,你必须提供

storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"

更多信息:

https://developer.android.com/studio/build/build-variants.html#build-types

检查您是否在java文件中使用过类似BuildConfig.DEBUG的内容 那一定是个问题。

我曾经面临同样的问题。 我发现我使用的代码如if(BuildConfig.DEBUG) { Toast(...); } if(BuildConfig.DEBUG) { Toast(...); } 这对我来说是个问题。 我将它改为if(!BuildConfig.DEBUG) { Toast(...); } if(!BuildConfig.DEBUG) { Toast(...); }这让我的应用程序在应用程序的发布版本一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM