Android 一键打包发布各渠道。

方便学习,也方便自己记录
提前说明: 基于Android Studio下一键打包。
废话少说,直接开干

因为项目中集成了Jpush,已Jpush为例

第一步.
在清单文件AndroidManifest中 修改 value="${JPUSH_CHANNEL_VALUE}"
** <meta-data android:name="JPUSH_CHANNEL" android:value="${JPUSH_CHANNEL_VALUE}" />**
第二步.
注意配置的JPUSH_CHANNEL_VALUE全部要对应起来
在App内的build.gradle中android{}修改

     android{
            productFlavors {
            //   写法一    选一种即可
            //        baidu{}
            //        wandoujia{}
            //        huawei{}
            //        yingyongbao{}
            //        productFlavors.all { flavor ->
            //            flavor.manifestPlaceholders = [JPUSH_CHANNEL_VALUE:name]
            //        }       

           //   写法二
           wandoujia {    
                   manifestPlaceholders = [JPUSH_CHANNEL_VALUE: "wandoujia"]        }       
           baidu {         
                   manifestPlaceholders = [JPUSH_CHANNEL_VALUE: "baidu"]        }   
           huawei {       
                   manifestPlaceholders = [JPUSH_CHANNEL_VALUE: "huawei"]        }  
          yingyongbao {       
                   manifestPlaceholders = [JPUSH_CHANNEL_VALUE: "yingyongbao"]        }    
                }
          }

第三步.
继续在App内的build.gradle中android{}修改

    android {    
               signingConfigs {      
                    release {      
                    keyAlias ''                          //别名      
                    keyPassword ''                  //密码
                    storeFile file('XXX.jks')     // .jks 签名位置   
                    storePassword ''               // 密码
                   } 
                }
              buildTypes {   
                    release {      
                         signingConfig signingConfigs.release      
                         minifyEnabled false  
                         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'   
                   }
                }
              android.applicationVariants.all {  
                   variant -> 
                    variant.outputs.each {        
                         output -> output.outputFile = new File(output.outputFile.parent, "imM_+ ${defaultConfig.versionCode}_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk");       
                  }
               }
          }

第三步.
Mac配置Gradle_Home

Window将Gradle配置到系统变量中 和配置sdk类似。不做过多讲解。
举例:gradle路径/bin ;配置到path中。

第四步.
Android Studio界面打包Terminal 会自动到本项目的命令行:
输入gradle assemblerelease

第五步.
等、、、、
等、、、、
结束后 在App/build/outputs/apk中查看 release 发布签名后的App。上线发布对应App即可。
如图:

7E9840CF-5713-484E-AD62-F7B8F53C9063.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,288评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,556评论 2 45
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,685评论 3 25
  • 时间买卖、注重价值、而不是价格。不可逆、耳闻目染。比读书更直接、更有效。最好的成长、朋友就是那些我愿意花时间与精力...
    爱吃糖的艾糖阅读 311评论 0 0
  • GCD有两个十分重要的概念 1.队列: >1.串行队列 一、系统主队列 二、自己穿件的串行队列 >2.并行队列 一...
    晨曦晴天阅读 596评论 0 0