gradle使用總結(jié)

快速地導(dǎo)入別人的項目

當(dāng)我們在AS中導(dǎo)入別人的項目時(如github中的開源項目)李请,有時會發(fā)現(xiàn)特別地慢,這是因為如果項目中配置的gradle版本厉熟、compileVersion导盅、buildToolsVersion等在你的電腦里沒有時,AS就會去網(wǎng)上重新下載揍瑟。白翻。然后由于天朝偉大的防火墻,速度比較感人绢片。滤馍。所以我們可以修改gradle版本配置,以快速導(dǎo)入別人的項目杉畜。

** 需要修改的幾個地方如圖 **:

  1. 把app module的build.gradle文件中的buildToolsVersion換成你本地已經(jīng)下載好的版本纪蜒;不過minSdkVersion、compileSdkVersion此叠、targetSdkVersion等sdk版本不建議更改,因為修改這幾個配置會對項目有影響随珠。
  2. 替換掉gradle版本:
    1). 在其它項目中(你電腦本地正常運行的項目)把wrapper文件夾中的兩個文件拷過來灭袁,替換掉要導(dǎo)入項目里的兩個文件;
    2). 修改項目根目錄下build.gradle的dependencies { classpath '...'}窗看,照樣從別的項目中拷過來茸歧,版本號要與步驟一中的兩個文件對應(yīng)。

apk簽名配置

signingConfigs {
    releaseSign {
        keyAlias '***'
        keyPassword '***'
        storeFile file('your keystore file path')
        storePassword '***'
    }
}

或者你可以直接在AS中進行圖形化操作

  1. app文件夾上右鍵 ——> Open Moudule Settings


  2. 在Signing選項卡下面填寫好簽名配置


  3. 在Build Types選項卡下 release版本的 Signing Config選為你剛才所新建的簽名配置显沈,點擊ok確定软瞎,大功告成


其實很多的gradle配置都可以在這個界面完成,自己慢慢摸索(__)

多渠道打包

  1. 在AndroidManifest.xml文件中添加metadata
    <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/>

  2. 在build.gradle文件中添加

  productFlavors {
      xiaomi {}
      wandoujia {}
  }
  productFlavors.all {
      flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
  }
  1. 在AS的命令行運行命令 gradlw build(如果打包時需要簽名要先配置好signingConfigs)拉讯,ok涤浇,打包完成后就可以在app/build/outputs/apk目錄下看到生成的apk文件。

構(gòu)建參數(shù)

1. 動態(tài)配置不同構(gòu)建版本中的appkey

在我們使用一些第三方sdk時(比如環(huán)信)魔慷,debug版本和release版本需要使用不同的appkey只锭,身患懶癌的我們總不能每次構(gòu)建的時候都改來改去吧,既麻煩又容易出錯院尔。好在借助manifestPlaceholders可以幫我們自動替換蜻展。
拿環(huán)信的appkey舉例:
1). 在AndroidManifest文件中添加
<meta-data android:name="EASEMOB_APPKEY" android:value="${EASEMOB_APPKEY_VALUE}"/>
2). 在build.gradle文件中添加

buildTypes {
    release {
        manifestPlaceholders = [EASEMOB_APPKEY_VALUE: "yourreleaseappkey"]
    }
    debug {
        manifestPlaceholders = [EASEMOB_APPKEY_VALUE: "yourdebugappkey"]
    }
}

2. 動態(tài)配置BuildConfig

一般我們開發(fā)應(yīng)用時都會有測試環(huán)境和生產(chǎn)環(huán)境喉誊,測試環(huán)境和生產(chǎn)環(huán)境使用的服務(wù)器地址是不一樣的,每次要打包時都要修改這個地址顯然麻煩纵顾,借助BuildConfig就可以實現(xiàn)動態(tài)配置了伍茄。

BuildConfig.java是AS自動生成的一個java類,使用方式類似于R類幻林,只能由AS管理,我們不能手動修改音念。我們在gradle文件中做些配置沪饺,就可以往BuildConfig.java添加靜態(tài)常量,然后就可以在項目中像引用其它類代碼一樣引用這個靜態(tài)常量闷愤。Gradle會在我們打包的時候根據(jù)構(gòu)建版本對這個靜態(tài)常量的值進行動態(tài)配置整葡。

在gradle文件中添加

buildTypes {
    release {
        buildConfigField('String', 'API_URL', "\"http://test.haha.com\"")
    }

    debug {
        buildConfigField('String', 'API_URL', "\"http://www.haha.com\"")
    }
}

然后點擊gradle同步按鈕進行同步,在BuildConfig.java文件中就會生成:
public static final String API_URL = "http://www.haha.com";

buildConfigField 一共有3個參數(shù)讥脐,第一個是要定義的常量值的數(shù)據(jù)類型遭居,這個類型和Java的類型是一樣的,第二個參數(shù)是常量名旬渠,第三個參數(shù)是常量值俱萍。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市告丢,隨后出現(xiàn)的幾起案子枪蘑,更是在濱河造成了極大的恐慌,老刑警劉巖岖免,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岳颇,死亡現(xiàn)場離奇詭異,居然都是意外死亡颅湘,警方通過查閱死者的電腦和手機话侧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闯参,“玉大人瞻鹏,你說我怎么就攤上這事÷拐” “怎么了新博?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長释移。 經(jīng)常有香客問我叭披,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任涩蜘,我火速辦了婚禮嚼贡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘同诫。我一直安慰自己粤策,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布误窖。 她就那樣靜靜地躺著叮盘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霹俺。 梳的紋絲不亂的頭發(fā)上柔吼,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音丙唧,去河邊找鬼愈魏。 笑死,一個胖子當(dāng)著我的面吹牛想际,可吹牛的內(nèi)容都是我干的培漏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胡本,長吁一口氣:“原來是場噩夢啊……” “哼牌柄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起侧甫,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤珊佣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闺骚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彩扔,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年僻爽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贾惦。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡胸梆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出须板,到底是詐尸還是另有隱情碰镜,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布习瑰,位于F島的核電站绪颖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏甜奄。R本人自食惡果不足惜柠横,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一窃款、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牍氛,春花似錦晨继、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至唉擂,卻和暖如春餐屎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背玩祟。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工腹缩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卵凑。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓庆聘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親勺卢。 傳聞我的和親對象是個殘疾皇子伙判,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,095評論 25 707
  • 這一章主要針對項目中可以用到的一些實用功能來介紹Android Gradle,比如如何隱藏我們的證書文件黑忱,降低風(fēng)險...
    acc8226閱讀 7,610評論 3 25
  • 轉(zhuǎn)載注明出處:http://www.reibang.com/p/5255b100930e 0. 前言 完全由個人翻...
    王三的貓阿德閱讀 2,515評論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理宴抚,服務(wù)發(fā)現(xiàn),斷路器甫煞,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 挫折,你好 高一(6)班 劉子鈺 每個人的一生都是喜悅參半楷力,酸甜交加的喊式,經(jīng)歷過成功的喜悅,也難免體會過失敗的痛苦萧朝,...
    山師華清閱讀 316評論 0 1