成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

android-studio - Android Studio 中有沒有類似C#的#if DEBUG功能

瀏覽:166日期:2024-09-08 08:14:10

問題描述

VisualStudio中如果當前模式為DEBUG,那么我在代碼中可以在#if DEBUG中執行一些代碼,比如Debug模式中訪問的API為www.aaa.com。而正式發布release時API是www.bbb.com,這在vs中是可以。不知道Android Studio中有沒有類似的功能。

android-studio - Android Studio 中有沒有類似C#的#if DEBUG功能

android-studio - Android Studio 中有沒有類似C#的#if DEBUG功能

問題解答

回答1:

Android Studio 會自動添加 BuildConfig 類,這個類有一個字段叫 DEBUG,它的值根據當前的編譯方式自動生成,編譯方式為 debug 時值為 true,release 時值為 false。所以可以根據這個特點在函數中添加 if (BuildConfig.DEBUG) 類來實現類似的功能,一個比較常見的例子是自定義 Log 類,使得在 debug 時輸出 log,release 時不輸出:

public void d(String tag, String message) { if (BuildConfig.DEBUG) {Log.d(tag, message); }}回答2:

沒有,Java不支持宏定義,所有的調試信息都會進入編譯結果。你只能在程序中設置變量讓調試程序在生產環境中不執行。Android Manifest中有版本信息,默認會生產Debug和Release兩種版本,你可以通過程序判斷來實現切換參數。

回答3:

AS的調試過程中可以動態設置變量值~

回答4:

這個功能很雞肋,明明可以自己寫代碼實現的(不超過3行代碼就能搞定),非要android原生去實現,如你所愿的話安卓開發將會更加復雜,我們需要記住更多雞肋功能了(得不償失)

回答5:

可以利用BuildConfig來實現

回答6:

可以,借助gradle配置:變量、版本信息

回答7:

看看android studio的debug技巧,http://weishu.me/2015/12/21/a...,不要太牛逼

相關文章: