Android应用开发之as android 打包
白羽 2018-08-10 来源 :网络 阅读 1905 评论 0

摘要:本文将带你了解Android应用开发之as android 打包,希望本文对大家学Android有所帮助

        本文将带你了解Android应用开发之as android  打包,希望本文对大家学Android有所帮助


 
 
1. build -> Generate Signed APK
 
2. next -》 next 
 
 
 3. 多渠道打包
Java代码  <meta-data             android:name="UMENG_CHANNEL"             android:value="${UMENG_CHANNEL_VALUE}" />   <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" />
 
 
Java代码  signingConfigs {      debug {          keyAlias 'curiousby'          keyPassword '123456'          storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\iteyeblog-as\\iteyeblog-as.jks')          storePassword '123456'      }      release {          keyAlias 'curiousby'          keyPassword '123456'          storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\iteyeblog-as\\iteyeblog-as.jks')          storePassword '123456'      }  }  buildTypes {      // 打测试包      debug{          // 显示Log          buildConfigField "boolean", "DEBUG_ENABLE", "true"            versionNameSuffix "-debug"          minifyEnabled false          zipAlignEnabled false          shrinkResources false          signingConfig signingConfigs.debug      }        // 打正式包      release {          // 不显示Log          buildConfigField "boolean", "DEBUG_ENABLE", "false"          // 启用混淆          minifyEnabled false          // Zipalign优化          zipAlignEnabled true          // 移除无用的resource文件          shrinkResources false          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'          // 签名          signingConfig signingConfigs.release            // 修改文件名          applicationVariants.all { variant ->              variant.outputs.each { output ->                  def outputFile = output.outputFile                  if (outputFile != null && outputFile.name.endsWith('.apk')) {                      // 输出apk名称为IteyeBlog_v1.0_2016-07-31_wandoujia.apk                      def fileName = "IteyeBlog_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk" //_${releaseTime()}                      output.outputFile = new File(outputFile.parent, fileName)                  }              }          }      }  }    // 配置渠道包  productFlavors {      MAIN {          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "MAIN"]      }        WANDOUJIA {          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "WANDOUJIA"]      }        BAIDU {          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "BAIDU"]      }        QIHU360 {          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "QIHU360"]      }        XIAOMI {          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "XIAOMI"]      }        YINGYONGBAO {          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "YINGYONGBAO"]      }  }      signingConfigs {
        debug {
            keyAlias 'curiousby'
            keyPassword '123456'
            storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\iteyeblog-as\\iteyeblog-as.jks')
            storePassword '123456'
        }
        release {
            keyAlias 'curiousby'
            keyPassword '123456'
            storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\iteyeblog-as\\iteyeblog-as.jks')
            storePassword '123456'
        }
    }
    buildTypes {
        // 打测试包
        debug{
            // 显示Log
            buildConfigField "boolean", "DEBUG_ENABLE", "true"
//            versionNameSuffix "-debug"
            minifyEnabled false
            zipAlignEnabled false
            shrinkResources false
            signingConfig signingConfigs.debug
        }

        // 打正式包
        release {
            // 不显示Log
            buildConfigField "boolean", "DEBUG_ENABLE", "false"
            // 启用混淆
            minifyEnabled false
            // Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            // 签名
            signingConfig signingConfigs.release

            // 修改文件名
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        // 输出apk名称为IteyeBlog_v1.0_2016-07-31_wandoujia.apk
                        def fileName = "IteyeBlog_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk" //_${releaseTime()}
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
    }

    // 配置渠道包
    productFlavors {
        MAIN {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "MAIN"]
        }

        WANDOUJIA {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "WANDOUJIA"]
        }

        BAIDU {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "BAIDU"]
        }

        QIHU360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "QIHU360"]
        }

        XIAOMI {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "XIAOMI"]
        }

        YINGYONGBAO {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "YINGYONGBAO"]
        }
    }
 
  
 点击 task
 
 
4. 使用 eclipse 签名 打包 
Java代码  signingConfigs {        debug {            keyAlias 'baoyou'            keyPassword '123456'            storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\android-cmcc-B100036')            storePassword '123456'        }        release {            keyAlias 'baoyou'            keyPassword '123456'            storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\android-cmcc-B100036')            storePassword '123456'        }    }    signingConfigs {
        debug {
            keyAlias 'baoyou'
            keyPassword '123456'
            storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\android-cmcc-B100036')
            storePassword '123456'
        }
        release {
            keyAlias 'baoyou'
            keyPassword '123456'
            storeFile file('C:\\Users\\cmcc-B100036\\Desktop\\android\\android-cmcc-B100036')
            storePassword '123456'
        }
    }

 
 
     

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 0
看完这篇文章有何感觉?已经有2人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程