Enable LogCat on Release Build in Android Studio

2019-01-23 01:33发布

问题:

By default, when I change Build Variants to release I don't get any Logs on the logcat, but I do need to read release logs of my app, how can I enable this?

回答1:

Add android:debuggable="true" (default is false) to your Manifest inside the <application> tag.

From the docs:

android:debuggable
Whether or not the application can be debugged, even when running on a device in user mode — "true" if it can be, and "false" if not.

respectively

You can disable debugging by removing the android:debuggable attribute from the tag in your manifest file, or by setting the android:debuggable attribute to false in your manifest file.

Edit

You may need to add the following to your build.gradle file inside the android{...} tag:

lintOptions {
   checkReleaseBuilds false
}

And as a side-note: Right on the device the Logs are always written, no matter if your application's debuggable is set to false or true. But via the LogCat it's only possible if debuggable is set to true. (Just tested this)



回答2:

I do not like the other solution because then you are not testing how the App really is deployed.

A better solution is to open the Android Device Monitor where you can see the logs even when in release configuration with debuggable=false.

Find it here:

Tools -> Android -> Android Device Monitor



回答3:

You should add

android {
    buildTypes {
        release {
            debuggable true

In this case you can use Log. or System.out.println and see logs.

If you cannot run release version (app is disabled), and error is shown: "apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog", see app-release-unsigned.apk is not signed.