什麼都沒必要說 Gradle--buildTypes--productFlavors

buildTypes {
        release {
            //配置URL
            buildConfigField "String", "URL", "\"http://xxx.com/\""
            //是否混淆
            minifyEnabled true
            //是否壓縮
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            //配置URL
            //在代碼中直接引用BuildConfig.URL便可獲取對應參數值
            buildConfigField("String", "URL", "\"http://xxx/xxx/\"")
            minifyEnabled false
            zipAlignEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
複製代碼
productFlavors{

    //自定義名字不過不能和上面buildType中相同,否則Gradle編譯會不經過。
        TX{
            // manifestPlaceholders中寫到的『str』,『package_name』不支持用大寫,不然Gradle編譯會不經過。
            // 這裏所設置的變量能夠直接使用在『AndroidManifest.xml』中,使用方式爲:${package_name}
            // android:label="${package_name}"
            manifestPlaceholders = [APP_NAME:"騰訊版",APP_KEY:"2D673912328262FA81968B"]

            // 這裏的參數是爲了在 java 代碼中使用,具體的使用方式爲:context.getResources().getString(R.string.strKey);
            resValue("string" , "strKey","releaseStrValue")
        }

        //使用manifestPlaceholders的這種配置,一樣適用於manifest的其餘配置。好比你須要在不一樣渠道發佈的apk裏面,指定不一樣的啓動Activity。
        // 好比在豌豆莢裏面發佈的,啓動的Activity顯示的是豌豆莢首發的界面,應用寶裏面啓動的是應用寶首發的界面.
        // 你就能夠對你的activity的值使用${activity_name}的方式
        // 而後在productFlavors裏面配置這個${activity_name}的值。
        CHANNEL{
            manifestPlaceholders = [APP_NAME:"渠道版",APP_KEY:"C9FFA09BC76F949CE3EF"]

            resValue("string" , "strKey","devStrValue")
        }
複製代碼

在build Variants中能夠選擇默認的運行版本java

相關文章
相關標籤/搜索