1.在ant中 使用BuildConfig类修改参数值
public final class BuildConfig {
public static final boolean DEBUG = false;
...
}
2.如果想自定义debug,比如log
buildTypes {
debug {
buildConfigField "boolean","LOG_DEBUG","true"
}
release {
buildConfigField "boolean","LOG_DEBUG","false"
}
}
使用:BuildConfig.LOG_DEBUG
3.使用AndroidManifest.xml中的meta-data
<meta-data
android:name="Logs.enable"
android:value="${LogEnable}"
/>
然后在gradle中配置buildTypes;
buildTypes {
debug {
manifestPlaceholders = [LogEnable : true]
}
release {
manifestPlaceholders = [LogEnable : false]
}
}
最后在工程代码中加载meta-data的数据
ApplicationInfo appInfo = null;
try {
appInfo = this.getPackageManager()
.getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
boolean enable=appInfo.metaData.getBoolean("Logs.enable");
Log.d("MyApplication","Logs.enable = "+enable);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
4.在AndroidManifest.xml中设置其debug属性
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:debuggable="true">
&ApplicationInfo.FLAG_DEBUGGABLE
不推荐这种方法。最好还是由打包方式决定。
5.应用程序中来判断
public static boolean isApkDebugable(Context context,String packageName) {
try {
PackageInfo pkginfo = context.getPackageManager().getPackageInfo(
packageName, 1);
if (pkginfo != null ) {
ApplicationInfo info= pkginfo.applicationInfo;
return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
}
} catch (Exception e) {
}
return false;
}