Android打包Android开发资料收集区

Android studio 打包及优化

2017-06-08  本文已影响81人  我是你森哥哥

1. Android studio 打包

TMj7Dc5.png 5g0oQqD.png FKznbLt.png AwcshG5.png dYvKB68.png

2. Android Studio 引用第三方库(Jar)

1.PNG 2.PNG 3.PNG 4.PNG 5.PNG 6.PNG 7.PNG 8.PNG

3. Gradle多渠道打包

Paste_Image.png Paste_Image.png
productFlavors {
 
百度{}
华为{}
应用宝{}
360{}
 
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
 
}

在Terminal中使用命令gradlew assembleRelease自动打出所有的渠道包
gradlew assembleDebug //所有平台的debug包
gradlew assemblewandoujiaRelease //只打wandoujia的Release包

4. 美团多渠道打包

Paste_Image.png Paste_Image.png Paste_Image.png

关于美团多渠道打包:http://blog.csdn.net/wlwenming/article/details/51699457
使用新版美团多渠道打包的正确姿势 :http://blog.csdn.net/wangliblog/article/details/59547685

5. 修改release包的输出文件名

buildTypes {
        release {
            minifyEnabled true          //代码瘦身
//            shrinkResources true        //资源文件瘦身
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  //代码混淆
            //添加我们的签名文件配置
            signingConfig signingConfigs.release

            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outFile = output.outputFile
                    if (outFile != null && outFile.name.endsWith(".apk")) {
//                       + '_' + variant.productFlavors[0].name    defaultConfig.applicationId
                        def fileName = 'xingchou_v' + defaultConfig.versionName + '.apk'
                        output.outputFile = new File(outFile.parent, fileName);
                    }
                }
            }
        }

        debug {
            signingConfig signingConfigs.release

            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outFile = output.outputFile
                    if (outFile != null && outFile.name.endsWith(".apk")) {
//                       + '_' + variant.productFlavors[0].name
                        def fileName = 'xingchou_v' + defaultConfig.versionName + '.apk'
                        output.outputFile = new File(outFile.parent, fileName);
                    }
                }
            }
        }
    }

6. 在同一设备上同时安装多个不同功能点的app

 //多渠道的支持
    productFlavors{
        okhttp{
            //给defaultConfig.applicationId添加后缀(不会影响程序中获取的包名)
            applicationIdSuffix"okhttp"
            resValue "string", "app_name", "okhttp_app"
        }
        jpush{
            applicationIdSuffix"jpush"
            resValue "string", "app_name", "jpush_app"
        }
    
上一篇下一篇

猜你喜欢

热点阅读