在AndroidManifest.xml清单文件中Application标签下配置android:debuggable="true"属性;结果不管你打debug包还是release包,系统都会默认是debug模式,在AndroidStudio的控制台就可以输出日志,并且可以调试,有些反编译调试别人的APP(比如微信)也是增加或者修改android:debuggable="true"属性值,然后重新打包,这样就可以实现动态调试他人的app;
注意:即使在AndroidManifest.xml中android:debuggable="true",如果在module下的buil.gradle设置debuggable false ,那么最终打包的AndroidManifest.xml中android:debuggable="false";
buildTypes {
release {
minifyEnabled false
debuggable true //true代表开启 false 关闭,新建项目默认是没有这个参数的
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
最好不要在AndroidManifest中设置android:debuggable属性。 设置它,编译的任何版本都要采用指定的debug模式,前提是没有在build.gradle中设置debuggable。
总结:
上面介绍了两种在release版本中实现打印日志和动态调试的方式,就是在AndroidManifest或者build.gradle设置debuggable属性值;