1. build -> Generate Signed APK
2. next -》 next
3. 多渠道打包
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
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 签名 打包
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' } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信捐助,加入it技术扣扣群),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
该教程提供了AS打包APK的步骤。Apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用程序包,打包分为debug版和release版。通常所说的打包就是生成release版的apk。常规的AS打包主要分为两种: 一种...
Android 多包名打包应用,功能为同一份代码打出另一个包名的apk,即包名不同、名称不同的两个apk。
As Realse版打包生成apk
Android APK是如何安装的?我们常常右击项目,选择Run as,选中Android Application就可以使程序在模拟器或真机上跑起来。程序是如何打包和安装的?
个人使用,针对不同AS工程进行android apk打包,希望对大家有所帮助,一键打包
Android:AS与Unity3D之间打包的一些坑及解决方案.docx
在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar...
Android Walle 多渠道打包。详细使用Walle对AS的一个多渠道打包工具。
Android:AS与Unity3D之间打包的各种坑及解决方案.docx
android decompiler dex2jar 反编译 简易教程android decompiler dex2jar 反编译 简易教程android decompiler dex2jar 反编译 简易教程android decompiler dex2jar 反编译 简易教程android decompiler dex2jar 反...
在不同的应用市场可能有不同的统计需求,需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。这篇文章主要介绍了Android几种多渠道打包,需要的朋友可以参考下
主要介绍了Android Studio打包.so库到apk中实例详解的相关资料,需要的朋友可以参考下
那么今天我们就来讲讲如何通过Android Studio打包APK文件,相信有很多用户还不是非常了解,下面通过这篇文章给大家介绍一下。 前面一直使用的是out文件夹里面的那个apk文件(debug版本),最近在使用在线升级的时候...
Android- 记录一些解决方案 你也可以选择访问简书版 ...Android 代码混淆在AS的实践 Android webView加载网页播放优酷视频引发“请允许cookie存储”问题的解决 Android Git在bash环境和Android studio工具中的使用
AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包。 1. AS 2.x多渠道打包 (1) AndroidManifest中增加节点 <!-- 多渠道打包 --> ... <meta-data android:name=UMENG_CHANNEL android:...
一、新建一个as项目,再新建一个model模块 然后再app中的build.gradle中添加model的依赖。然后编译项目。 二、编译完成后,打开model下的build——intermediates——bundles目录,目录下有两个文件夹,debug,...
android-backup-tools 重新打包和重新打包android备份安装$ pip ...程式化 from android_backup import AndroidBackup , CompressionType , EncryptionTypewith AndroidBackup ( 'foo.ab' ) as ab : ab . list ()
今天打开AS,修改完打包APK,发现generate signed apk不见了。 查看了一下,发现messages窗口有如下报错。 Problems found loading plugins: Plugin “Android NDK Support” was not loaded: required plugin ...
刚好用AS重构完项目,在网上查阅了一些资料,终于搞定!!在这记录一下。 AS主要是利用gradle来实现这个需求的,具体做法如下: 修改app的build.gradle文件 假设我们同一套代码编译2个app:app1和app2 android { ....
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...