Gradle 使用小技巧

apply plugin: 'com.android.application'
apply plugin: 'com.antfortune.freeline'
apply plugin: 'maven'

android {
    signingConfigs {
        config {
            storeFile file('')
            storePassword ''
            keyAlias ''
            keyPassword ''
        }
    }
    compileSdkVersion 23
    buildToolsVersion '23.0.2'
    dexOptions {
        incremental true
        javaMaxHeapSize "4g" //specify the heap size for the dex process
        preDexLibraries = true //delete the already predexed libraries 
    }
    defaultConfig {
        ndk {
            //設(shè)置支持的SO庫架構(gòu)
            abiFilters 'armeabi', 'armeabi-v7a', 'x86'//, 'armeabi-v7a', 'x86_64', 'arm64-v8a'
        }
        applicationId ""
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 11
        versionName "2.3.0"
        multiDexEnabled true
        signingConfig signingConfigs.config
    }


    lintOptions {
        // 設(shè)置為true會(huì)關(guān)閉lint分析進(jìn)度
        quiet true
        // 如果為true,則在發(fā)現(xiàn)錯(cuò)誤時(shí)停止gradle構(gòu)建
        abortOnError false
        // 如果為true,則只報(bào)告錯(cuò)誤
        ignoreWarnings true
    }

    buildTypes {//兩種類型,這里可以使用不同的名字坷澡,然后在src下建立相同的名字榨惰,在打包的時(shí)候會(huì)去找相同名字的文件羡微,如果找不到攻冷,就去找main默認(rèn)文件件丈攒,可以作為替換資源文件時(shí)打包使用切揭。
        release {
            zipAlignEnabled true
            shrinkResources true//移除無用的resource文件
            minifyEnabled false//是否開啟混淆
            shrinkResources    //去除無用的resource文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'//加載混淆配置文件
            debuggable false
            signingConfig signingConfigs.config
        }
        debug {
            manifestPlaceholders = [
                    UMENG_CHANNEL_VALUE: ,
                    QQ_APP_ID :"",//QQappid
                    QQ_APP_ID_VALUE :"",//
                    SHARE_SDK_VALUE :"",//sharesdk
                    TD_APP_ID_VALUE    : "",//talkingdata

                    GETUI_APP_ID       : "",
                    GETUI_APP_KEY      : "",
                    GETUI_APP_SECRET   : "",
                    JPUSH_KEY          : "",
                    HUAWEI_KEY         : "",
                    BAIDU_ID           : "",
                    BAIDU_KEY          : "",
                    XIAOMI_ID          : "",
                    XIAOMI_KEY         : "",
                    PACKAGE_NAME       : ""]
            minifyEnabled false
            debuggable true
            signingConfig signingConfigs.config
        }
    }
//修改打包名字
//    applicationVariants.all { variant -> 
//        variant.outputs.each { output ->
//            def outputFile = output.outputFile
//            def fileName = "xuexitoutiao_v${defaultConfig.versionName}_${releaseTime()}.apk"
//            output.outputFile = new File(outputFile.parent, fileName)
//        }
//    }


    freeline {
        hack true
        productFlavor ""
    }


    productFlavors {


        xxtt {
            applicationId ""
            manifestPlaceholders = [
                    UMENG_CHANNEL_VALUE: name,
                    QQ_APP_ID :"",//QQappid
                    QQ_APP_ID_VALUE :"",//
                    SHARE_SDK_VALUE :"",//sharesdk
                    TD_APP_ID_VALUE    : "",//talkingdata

                    GETUI_APP_ID       : "",
                    GETUI_APP_KEY      : "",
                    GETUI_APP_SECRET   : "",
                    JPUSH_KEY          : "",
                    HUAWEI_KEY         : "",
                    BAIDU_ID           : "",
                    BAIDU_KEY          : "",
                    XIAOMI_ID          : "",
                    XIAOMI_KEY         : "",
                    PACKAGE_NAME       : ""]
        }
    }

}
def releaseTime() {
    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile project(':my-image-browser')
    compile project(':')
}
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: uri('')) {
                authentication(userName: '', password: '')
            }
            snapshotRepository(url: uri('')) {
                authentication(userName: '', password: '')
            }
        }
    }
}

在整個(gè)項(xiàng)目中的build.gradle中 加入


def supportVersion = "23.2.1"

ext{
    supportV4 = "com.android.support:support-v4:${supportVersion}"
    appCompat = "com.android.support:appcompat-v7:${supportVersion}"
    cardView  = "com.android.support:cardview-v7:${supportVersion}"
    designCompat  = "com.android.support:design:${supportVersion}"
}

模塊中可以使用

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile rootProject.ext.appCompat
    compile rootProject.ext.cardView
    compile rootProject.ext.designCompat
    compile project(':coverflow')
}

3.多渠道打包

productFlavors {
 
wandoujia {}
baidu {}
c360 {}
uc {}
 
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
 
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狞甚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子廓旬,更是在濱河造成了極大的恐慌哼审,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孕豹,死亡現(xiàn)場離奇詭異涩盾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)励背,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門春霍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叶眉,你說我怎么就攤上這事址儒。” “怎么了衅疙?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵莲趣,是天一觀的道長。 經(jīng)常有香客問我饱溢,道長喧伞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任理朋,我火速辦了婚禮絮识,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嗽上。我一直安慰自己,他們只是感情好熄攘,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布兽愤。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浅萧。 梳的紋絲不亂的頭發(fā)上逐沙,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音洼畅,去河邊找鬼吩案。 笑死,一個(gè)胖子當(dāng)著我的面吹牛帝簇,可吹牛的內(nèi)容都是我干的徘郭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼丧肴,長吁一口氣:“原來是場噩夢啊……” “哼残揉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芋浮,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤抱环,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纸巷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镇草,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年瘤旨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陶夜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裆站,死狀恐怖条辟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宏胯,我是刑警寧澤羽嫡,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站肩袍,受9級(jí)特大地震影響杭棵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氛赐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一魂爪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧艰管,春花似錦滓侍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捺球。三九已至,卻和暖如春夕冲,著一層夾襖步出監(jiān)牢的瞬間氮兵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工歹鱼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泣栈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓弥姻,卻偏偏與公主長得像南片,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蚁阳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,302評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理铃绒,服務(wù)發(fā)現(xiàn),斷路器螺捐,智...
    卡卡羅2017閱讀 134,704評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,859評(píng)論 6 342
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項(xiàng)颠悬,請點(diǎn)擊這里進(jìn)行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,142評(píng)論 8 72
  • 克勞塞維茨在《戰(zhàn)爭論》中說: 戰(zhàn)略追求的,只能是可能的結(jié)果定血,而不是一定能得到的結(jié)果赔癌,那還需要命運(yùn)和運(yùn)氣。
    歐陽司空閱讀 215評(píng)論 0 0