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

onu*_*pus 6 android android-studio

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

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

谢谢

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

buildTypes {
    release {
        debuggable true
        signingConfig signingConfigs.release
    }
    debug {
        signingConfig signingConfigs.debug
    }
}
Run Code Online (Sandbox Code Playgroud)

Lin*_*ino 1

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

storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
Run Code Online (Sandbox Code Playgroud)

更多信息请点击这里:

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