发表于: 2017-02-23 00:25:53
1 924
今天完成的事情:1.打包正式签名的Apk文件
使用AndroidStudio生成:在Generate Signed APK 可视化工具里生成。先创建一个keyStore文件,然后选择debug类型还是release类型,生成Apk
使用Gradle生成:在app下的build.gradle文件里的android闭包中加入以下闭包
signingConfigs {
config{
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
}
在项目的根目录下的gradle.properties文件里添加键值对
KEY_PATH= 签名文件(.jks文件)路径
KEY_PASS= 签名文件密码
ALIAS_NAME= 文件别名
ALIAS_PASS= 别名密码
在buildTypes里的release中加入 signingConfig signingConfigs.config
运行gradle里的assembleRelease任务就可以得到apk文件了
2.打包多个渠道的apk
在app的build.gradle的android闭包下添加。这里新增了3个渠道baidu,wandoujia,yingyongbao。这个名字可以随便取
productFlavors{
baidu{
applicationId "com.jiaoyang.goldnews.baidu" //重写applicationId,这样生成的apk文件包名也会不同,可以在同一个设备上安装。
}
wandoujia{
applicationId "com.jiaoyang.goldnews.wandoujia"
}
yingyongbao{
applicationId "com.jiaoyang.goldnews.yingyongbao"
}
}
如果想要在应用上显示不同的应用名称或者图标,比如金信百度版,金信华为版,并且在图标上加上百度或华为的Logo,则可以在app的src文件下新建baidu,wandoujia,yingyongbao文件夹,记得和build文件中定义的一样。
在baidu文件夹下新建AndroidManifest.xml文件,内容如下
<manifest
xmlns:tools="http://schemas.android.com/tools" //定义一个tools自定义命名空间。
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jiaoyang.goldnews">
<application
tools:replace="android:icon" //这个属性不能少,不然程序无法运行
android:icon="@mipmap/about" //修改应用图标
>
<meta-data
tools:replace="android:value" //这个属性不能少,不然程序无法运行
android:name="UMENG_CHANNEL" android:value="BAIDU"/> //友盟统计的渠道名称
</application>
</manifest>
明天计划的事情:看一下推送
遇到的问题:加入友盟统计的Sdk后,编译程序有问题 Android xxx is not translated
在android闭包中加入
lintOptions {
checkReleaseBuilds false
abortOnError false
}
收获:
评论