Gradle for Android(二)全局設(shè)置柳恐、自定義BuildConfig伐脖、混淆

全局設(shè)置

如果有很多項(xiàng)目,可以設(shè)置全局來(lái)統(tǒng)一管理版本號(hào)或依賴(lài)庫(kù)乐设,根目錄下build.gradle下:

ext {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.2"
    minSdkVersion = 14
    targetSdkVersion = 23
}

app/build.gradle

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        applicationId "com.wuxiaolong.gradle4android"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
    }

可以在根目錄下建個(gè)config.gradle讼庇,然后只需在根目錄下build.gradle最頂部加上下面一行代碼,然后同步下近尚,意思就是所有的子項(xiàng)目或者所有的modules都可以從這個(gè)配置文件里讀取內(nèi)容蠕啄。

apply from: "config.gradle"

config.gradle

ext {
    android = [
            compileSdkVersion: 23,
            buildToolsVersion: "23.0.2",
            minSdkVersion    : 14,
            targetSdkVersion : 22,
    ]
    dependencies = [
            appcompatV7': 'com.android.support:appcompat-v7:23.2.1',
            design      : 'com.android.support:design:23.2.1'
    ]
}

app/build.gradle

android {
    compileSdkVersion rootProject.ext.android.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        applicationId "com.wuxiaolong.gradle4android"
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode 1
        versionName "1.0"
    }
  
...
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile rootProject.ext.dependencies.appcompatV7
    compile rootProject.ext.dependencies.design
}

自定義BuildConfig

實(shí)際開(kāi)發(fā)中服務(wù)器可能有正式環(huán)境和測(cè)試環(huán)境,gradle可以通過(guò)buildConfigField來(lái)配置戈锻。

defaultConfig {
       buildConfigField 'String','API_SERVER_URL','"http://wuxiaolong.me/"'
   }

buildConfigField 一共有3個(gè)參數(shù)歼跟,第一個(gè)是數(shù)據(jù)類(lèi)型,和Java的類(lèi)型是對(duì)等的格遭;第二個(gè)參數(shù)是常量名哈街,這里是API_SERVER_URL;第三個(gè)參數(shù)就是你要配置的值拒迅。


如圖路徑下就有個(gè)常量API_SERVER_URL骚秦,如何在代碼取得這個(gè)常量值:

Log.d("wxl", "API_SERVER_URL=" + BuildConfig.API_SERVER_URL);

啟用proguard混淆

一般release發(fā)布版本是需要啟用混淆的,這樣別人反編譯之后就很難分析你的代碼璧微,而我們自己開(kāi)發(fā)調(diào)試的時(shí)候是不需要混淆的作箍,所以debug不啟用混淆。對(duì)release啟用混淆的配置如下:

android {
    buildTypes {
        release {
            //是否啟動(dòng)混淆
            minifyEnabled true
            //是否移除無(wú)用資源文件前硫,shrinkResources依賴(lài)于minifyEnabled胞得,
            //必須和minifyEnabled一起用
            shrinkResources true 
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
   }

minifyEnabled為true表示啟用混淆,proguardFile是混淆使用的配置文件开瞭,這里是module根目錄下的proguard-rules.pro文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末懒震,一起剝皮案震驚了整個(gè)濱河市罩息,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌个扰,老刑警劉巖瓷炮,帶你破解...
    沈念sama閱讀 212,686評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異递宅,居然都是意外死亡娘香,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)办龄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)烘绽,“玉大人,你說(shuō)我怎么就攤上這事俐填“步樱” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,160評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵英融,是天一觀的道長(zhǎng)盏檐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)驶悟,這世上最難降的妖魔是什么胡野? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,736評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮痕鳍,結(jié)果婚禮上硫豆,老公的妹妹穿的比我還像新娘。我一直安慰自己笼呆,他們只是感情好熊响,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著抄邀,像睡著了一般耘眨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上境肾,一...
    開(kāi)封第一講書(shū)人閱讀 50,043評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音胆屿,去河邊找鬼奥喻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛非迹,可吹牛的內(nèi)容都是我干的环鲤。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼憎兽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼冷离!你這毒婦竟也來(lái)了吵冒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,872評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤西剥,失蹤者是張志新(化名)和其女友劉穎痹栖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瞭空,經(jīng)...
    沈念sama閱讀 44,318評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揪阿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咆畏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片南捂。...
    茶點(diǎn)故事閱讀 38,777評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旧找,靈堂內(nèi)的尸體忽然破棺而出溺健,到底是詐尸還是另有隱情,我是刑警寧澤钮蛛,帶...
    沈念sama閱讀 34,470評(píng)論 4 333
  • 正文 年R本政府宣布鞭缭,位于F島的核電站,受9級(jí)特大地震影響愿卒,放射性物質(zhì)發(fā)生泄漏缚去。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評(píng)論 3 317
  • 文/蒙蒙 一琼开、第九天 我趴在偏房一處隱蔽的房頂上張望易结。 院中可真熱鬧,春花似錦柜候、人聲如沸搞动。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,861評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鹦肿。三九已至,卻和暖如春辅柴,著一層夾襖步出監(jiān)牢的瞬間箩溃,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,095評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工碌嘀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涣旨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,589評(píng)論 2 362
  • 正文 我出身青樓股冗,卻偏偏與公主長(zhǎng)得像霹陡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容