什么都没必要说 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

相关文章
相关标签/搜索