Android 判斷是開發debug模式,還是釋出release模式
阿新 • • 發佈:2019-01-01
- publicclass LogUtils {
- publicstaticboolean APP_DBG = false; // 是否是debug模式
- publicstaticvoid init(Context context){
- APP_DBG = isApkDebugable(context);
- }
- /**
- * 但是當我們沒在AndroidManifest.xml中設定其debug屬性時:
- * 使用Eclipse執行這種方式打包時其debug屬性為true,使用Eclipse匯出這種方式打包時其debug屬性為法false.
- * 在使用ant打包時,其值就取決於ant的打包引數是release還是debug.
- * 因此在AndroidMainifest.xml中最好不設定android:debuggable屬性置,而是由打包方式來決定其值.
- *
- * @param context
- * @return
- * @author SHANHY
- * @date 2015-8-7
- */
- publicstaticboolean isApkDebugable(Context context) {
- try {
- ApplicationInfo info= context.getApplicationInfo();
- return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
- } catch (Exception e) {
- }
- returnfalse;
- }
- }
專案開發中,我們根據debug屬性來輸出日誌。
但是有些時候我們想在給公司的測試機上安裝的release版本也輸出日誌,那麼這個時候我們到 AndroidManifest.xml 中的application 標籤中新增屬性強制設定debugable即可,如下:
- <applicationandroid:debuggable
- ....
- .... />
init 方法在客戶端的第一個Activity的onCreate方法中執行一下即可。