默认情况下,当我将Build Variants
更改为release
时,我没有在logcat上获取任何日志,但我确实需要阅读我的应用的发布日志,如何启用此功能?
答案 0 :(得分:55)
将android:debuggable="true"
(默认为false)添加到<application>
标记内的清单中。
机器人:可调试
是否可以调试应用程序, 即使在用户模式下在设备上运行 - &#34; true&#34;如果它可以,和 &#34;假&#34;如果没有。
您可以通过删除android:debuggable属性来禁用调试 从清单文件中的标记,或通过设置 在清单文件中,android:debuggable属性为false。
您可能需要将以下内容添加到android {...}标记内的build.gradle
文件中:
lintOptions {
checkReleaseBuilds false
}
作为旁注:无论您的应用程序的 debuggable 是否设置为,设备上都会写入日志false 或 true 。但是,只有在debuggable设置为true的情况下,才能通过 LogCat 。 (刚试过这个)
答案 1 :(得分:29)
我不喜欢其他解决方案,因为那时你没有测试应用程序是如何部署的。
更好的解决方案是打开Android设备监视器,即使在发布配置中也可以查看日志,其中debuggable = false。
在此处找到它:
工具 - &gt; Android - &gt; Android设备监视器
答案 2 :(得分:9)
你应该添加
android {
buildTypes {
release {
debuggable true
在这种情况下,您可以使用Log.
或System.out.println
并查看日志。
如果您无法运行发布版本(app
已禁用),则会显示错误:“apk未签名。请使用”项目结构“对话框配置所选flavor的签名信息”,请参阅{{3 }}
答案 3 :(得分:1)
debuggable true
中的 build.gradle
效果很好,除了 BuildConfig.DEBUG
也将是真的。如果您的应用仅在调试版本时依赖 BuildConfig.DEBUG
执行某些操作,这可能会成为一个问题。
在这种情况下,请尝试 Log.wtf(BuildConfig.APPLICATION_ID, "something went wrong")
,即使它是发布版本,它也会打印到 logcat。