[英]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.