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;
}