本文说明: 由于近期线上项目进行了重构,在项目打包签名上传到Android市场是遇到了问题,这里就和大家分享一下经验,同时也是本人第一次对项目进行重构。
首先,我们要明白一个App的发布流程有哪些步骤,1、生成 .jks 文件,2、配置友盟多渠道 3、代码配置多渠道
一、生成jks文件
首先在Android studio 找到Terminal 打开它
找到你的jdk 的位置,我的jdk目录是:C:\Program Files\Java\jre1.8.0_131\bin
下一步输入 : keytool -genkeypair -alias your jks 名称 .jks -keyalg RSA -validity jks有效时间 -keystore yourjks名称.jks
秘钥库口令默认为android
以上内容根据自己本身的需求填写,到这里jks 文件就已经生成完毕了,.jks 文件 生成在D:\Demos\Demo\packagingDemo目录下,你填写的密码一定要记住,和签名文件配置的密码一定要一样
二、多渠道打包
1、
1、注册友盟获取App信息
2、配置mainfest
<meta-data android:value="APPKEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
一定要放在application标签下,如下所示:
3、导入友盟jar包从有盟官网上下载
下载链接:http://mobile.umeng.com/custom_sdk 使用的jar是 common目录下的,如有其他需要请自行添加
//友盟compile 'com.umeng.sdk:analytics:latest.integration'
compile files('libs/umeng-common-1.4.3.jar')
4、Application onCreate方法里添加:添加自己的Appkey 和Umeng Message Secret
UMConfigure.init(this, "Appkey", "Umeng", UMConfigure.DEVICE_TYPE_PHONE, "Umeng Message Secret");
UMConfigure.setLogEnabled(true);
5、app.gradle 配置渠道
multiDexEnabled true //突破应用方法数65535的一个限制
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"] //默认名称
需要在defaultConfig标签下添加这两行
6、//添加签名文件配置---如果使用指令,必须添加这一样signingConfigs { debug {} release { storeFile file('D:/Demos/Demo/httpDemo/MyBaseProject/project.jks') storePassword "123456" keyAlias "rock" keyPassword "123456" }}
7、配置各大应用(复制即可)与defaultConfig标签平行
productFlavors { Test {} Default {} ALi {} Baidu {} QiHoo360 {} Samsung {} HuaWei {} OPPO {} VIVO {} MI {} ZTE {} MeiZu {} Smartisan {} Lenovo {} Gionee {} CoolApk {} Tencent {} productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }
}
好了以上就把渠道给配置好了,下一步准备打包
第一步检验渠道 (file -> 找到Project Structure)
好了到这一步时基本配置都弄好了下一步生成apk 文件
选中create new
根据需求填写
完成
做到这里就基本完成了,大部分都能成功了,会有少数遇到如下情况:
但是如果报
需要另外在gradle 添加
lintOptions { checkReleaseBuilds false abortOnError false }0k,到这里就结束了赶紧去试试吧!