出于某种原因,我必须在发布模式下运行我的Android应用程序。我必须在运行应用程序时运行代码,就像我们在调试模式下使用一样。当我在发布模式下运行时,我的断点没有击中,我在清单中添加了android:debuggable="true"
。断点还没有打到。任何帮助。
提前致谢
在gradle文件中,必须在发布版本中添加可调试功能。
buildTypes {
release {
debuggable true
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
debuggable true
minifyEnabled false
applicationIdSuffix '.debug'
}
}
signingConfig
是发布配置,它必须添加到android {}块的gradle文件中,如下所示:
signingConfigs {
release {
keyAlias 'YourAppKey'
keyPassword 'somePassword'
storeFile file('appkeyfile.jks')
storePassword 'somePassword'
}
}
在我的例子中,我创建了与先前版本构建相同的调试配置并开始调试。这意味着你必须在build gradle中给出调试版本中的符号构建。
signingConfigs {
config {
keyAlias 'abc'
keyPassword 'xyz'
storeFile file('<<KEYSTORE-PATH>>.keystore')
storePassword 'password'
}
}
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
因此它将与发布版本具有相同的符号,您可以在运行时进行调试。
buildTypes {
release {
debuggable true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
快乐的编码。把这个答案拿起来..如果有帮助.. :)
没有“发布模式”。你所指的是构建类型,它意味着在构建过程中采取的步骤(如缩小等)。设置android:debuggable="true"
不会自动帮助,因为当您“运行”应用程序而不是“调试”时,您不会将调试器连接到它,因此它不会因为特定原因而停止。
所以你可以设置你的调试版本以与发布版本相同的方式生成,但是很不清楚你的需求背后的原因是什么,我觉得你试图采用错误的方式(即调试通常不使用ProGuard,虽然发布构建是,ProGuard会更改生成的二进制文件,因此无论如何您的源代码断点都不会真正起作用。