全部, 我们正面临一个奇怪的问题,我们的应用程序在调试版本变体中运行良好。但它无法在发布版本变体上正确执行。 甚至奇怪的是,如果我们为发布版本变体设置debuggable为true,它可以正常工作。两种变体都禁用了Proguard。
我试图了解android中的发布和调试版本变体之间的区别。你能指点我帮助我理解差异的任何资源吗?
谢谢
以下作品。但是如果我删除了debuggable,它就无法正常工作。调试构建始终有效。
buildTypes {
release {
debuggable true
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.debug
}
}
答案 0 :(得分:1)
也许这个问题与apk的签名有关。如果您使用debuggable true
,那么您的应用程序将使用通用调试密钥库进行签名,一切正常。
相反,如果你删除它,你必须提供
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
更多信息:
https://developer.android.com/studio/build/build-variants.html#build-types
答案 1 :(得分:0)
检查您的java文件中是否使用了 BuildConfig.DEBUG 之类的内容。这一定是一个问题。
我曾经遇到过同样的问题。我发现我使用的是像if(BuildConfig.DEBUG) { Toast(...); }
这样的代码。这对我来说是个问题。我将其更改为if(!BuildConfig.DEBUG) { Toast(...); }
,这使我的应用程序在应用程序的发布版本中工作。