×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

如何使用Android Studio编译打包

文章编辑:网站建设 文章来源:APP开发 浏览量:

    使用Android Studio可以很方便地一次编译多个渠道包,具体步骤如下所述。
    (1)在AndroidManifest.xml文件中配置CHANNEL字符串。
    <meta-data
    android:name="UMENG CHANNEL"
    android:value="${CHANNEL VALUE}"
    tools:replace="android:value"/>
    (2)在项目中增加各渠道文件夹的相关文件。如不同渠道包连接的服务器地址不同,可以做如图25-1所示的配置。
    每个渠道包的strings.xm1文件中包含对应的服务器地址。
    <resources>
    <string name="base url">http://www.xxx.com</string
    |</resources>
    (3)在build.gradle文件中添加如下代码。
    |productFlavors{
    //编译3个渠道包
    demo3{
    demo4{
    demo5{
    //设置每个渠道包中的渠道名称
    productFlavors.all{ flavor->
    flavor.manifestPlaceholders=[CHANNEL VALUE:n
    |ame]
    //把代码的提交次数+渠道名称作为版本号
    applicationVariants.all { variant->
    if(variant.buildType.name.equals('release'))
    def gitVersion=gitVersionCode()
    variant.mergedFlavor.versionCode=gitVersio
    variant.mergedFlavor.versionName=gitVersio
    |n.tostring()+variant.mergedFlavor.manifestPlaceholder
    s.CHANNEL VALUE
    //按APK名+版本号+编译时间+渠道名称的方式修改编译的APK文件名称
    applicationVariants.all { variant->
    if(variant.buildType.name.equals('release'))
    variant.outputs.each { output->
    def outputFile=output.outputFile
    if(outputFile!=null &&
    outputFile.name.endsWith('release.apk)){
    def fileName=
    "Xxx V${variant.mergedFlavor.vers
    ionName}${releaseTime()}${va
    riant.productFlavors[0].name}.a
    |pk”
    output.outputFile=new File(outputFile.pa
    //删除xxx-unaligned.apk这类没有字节对齐的APK|文件
    if(output.zipAlign!=null){
    output.zipAlign.doLast{
    output.zipAlign.inputFile.delete(
    }
    }
    //获取git服务器上的代码提交次数
    def gitVersionCode(){
    def cmd='git rev-list HEAD--count'
    cmd.execute().text.trim().toInteger()
    //得到当前时间的字符串,不能用UTC时区,要用上海所在的时区(也就是北京时间)
    def releaseTime(){
    return new Date().format("yyyyMMddHImmss",
    TimeZone.getTimeZone("Asia/Shanghai"))
   以上就是使用Android Studio一次编译多个渠道包的具体步骤,感谢您的阅读

当前文章链接:/construction/appkaifa/2180.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。