默认情况下,当我更改Build Variants为release我没有在logcat上获取任何日志,但我确实需要阅读我的应用程序的发布日志,我该如何启用它?
reV*_*rse 60
android:debuggable="true"在<application>标记内的Manifest中添加(默认为false).
android:debuggable
是否可以调试应用程序,即使在用户模式下在设备上运行 - 如果可以,则为"true",否则为"false".
您可以通过从清单文件中的标记中删除android:debuggable属性来禁用调试,或者通过在清单文件中将android:debuggable属性设置为false来禁用调试.
您可能需要build.gradle在android {...}标记内的文件中添加以下内容:
lintOptions {
checkReleaseBuilds false
}
Run Code Online (Sandbox Code Playgroud)
并且作为旁注:在设备上,无论您的应用程序的debuggable是设置为false还是true,都会始终写入日志.但是通过LogCat,只有在debuggable设置为true时才有可能.(刚试过这个)
Mor*_*ard 29
我不喜欢其他解决方案,因为那时你没有测试应用程序是如何部署的.
更好的解决方案是打开Android设备监视器,即使在使用debuggable = false的发布配置中也可以看到日志.
在这里找到它:
工具 - > Android - > Android设备监视器
Coo*_*ind 13
你应该添加
android {
buildTypes {
release {
debuggable true
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以使用Log.或System.out.println查看日志.
如果您无法运行发布版本(app已禁用),并显示错误:"apk未签名.请使用"项目结构"对话框配置所选flavor的签名信息",请参阅app-release-unsigned.apk未签名.
小智 5
这种方法显然可以帮助您在测试生产构建时获取日志。但在将应用程序上传到 Google Play 商店时要小心,在上传到生产环境之前切换debuggable到false。
buildTypes {
debug {
manifestPlaceholders = [crashlyticsCollectionEnabled: "false"]
}
release {
manifestPlaceholders = [crashlyticsCollectionEnabled: "false"]
lintOptions {
checkReleaseBuilds false
abortOnError false
}
shrinkResources true
minifyEnabled true
debuggable true
signingConfig signingConfigs.productionrelease
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
设置crashlyticsCollectionEnabled为false以避免在调试时向 Google Play 商店报告崩溃。
| 归档时间: |
|
| 查看次数: |
31554 次 |
| 最近记录: |