在Android Studio中的Release Build上启用LogCat

时间:2014-09-01 17:58:31

标签: android logcat

默认情况下,当我将Build Variants更改为release时,我没有在logcat上获取任何日志,但我确实需要阅读我的应用的发布日志,如何启用此功能?

4 个答案:

答案 0 :(得分:55)

android:debuggable="true"(默认为false)添加到<application>标记内的清单中。

From the docs:

  

机器人:可调试
  是否可以调试应用程序,   即使在用户模式下在设备上运行 - &#34; true&#34;如果它可以,和   &#34;假&#34;如果没有。

respectively

  

您可以通过删除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。