关于AndroidStudio的打包数字签名以及多渠道发布
AndroidStudio右侧Gradle里边的build(工程下的)是可以生成未签名的debug和release的apk包生成前可以先clean一下工程
app下的build.gradle里边的
lintOptions{
abortOnError false
}
是用来取消检查错误直接打包
buildTypes {
//设置为true进行混淆proGuard
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
是用来混淆 默认是false
//配置软件包打包的时候 准备不同的渠道
productFlavors {
//渠道的名称 生成不同的包
baidu {
applicationId "cn.fangz.baidu"
// 对resValue在java代码中的使用:String app_id = getResources().getString(R.string.app_id);
resValue("string", "app_id", "50074")
resValue("string", "app_start", "1")
// 对manifestPlaceholders中资源的使用:在AndroidManifest.xml文件中的application节点下
// andorid:icon="${icon}"
//android:app_name="${app_name}"
manifestPlaceholders = [app_name: "@string/app_name_agiledata", icon: "@drawable/ic_launcher"]
}
qihoo {
minSdkVersion 10
applicationId 'com.ceshi.updateadapter.qihoo.app'
}
}
对应于不同渠道由于appid不同所以生成了不同的版本的apk文件
还有就是可以在src下建立free paid文件夹建立不同的AndroidManifest.xml文件修改入口即可运行一个程序的不同版本如果没有的资源会去找main文件夹下的资源(类似国际化) 在Build Variants 修改运行的程序
以上都是放在android 下
Build菜单里生成keystore文件一般放在工程目录下 之后签名时需要选择目录就是cd../ 上级目录里选 最后在buildtype左边小栏选择release版本 ok
apply plugin: 'com.android.application'
android {
//数字签名证书以及密钥温家的配置 可以在以后不同的渠道设置
signingConfigs {
mykeystore {
keyAlias 'my_release_key'
keyPassword '123456'
storeFile file('../release.jks')
storePassword '123456'
}
}
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.ceshi.updateadapter"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
//设置为true进行混淆proGuard
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.mykeystore
}
debug {
}
}
lintOptions {
abortOnError false
}
//配置软件包打包的时候 准备不同的渠道
productFlavors {
//渠道的名称 生成不同的包
baidu {
applicationId "cn.fangz.baidu"
// 对resValue在java代码中的使用:String app_id = getResources().getString(R.string.app_id);
resValue("string", "app_id", "50074")
resValue("string", "app_start", "1")
// 对manifestPlaceholders中资源的使用:在AndroidManifest.xml文件中的application节点下
// andorid:icon="${icon}"
//android:app_name="${app_name}"
manifestPlaceholders = [app_name: "@string/app_name_agiledata", icon: "@drawable/ic_launcher"]
}
qihoo {
minSdkVersion 10
applicationId 'com.ceshi.updateadapter.qihoo.app'
}
paid{
minSdkVersion 10
applicationId 'com.ceshi.updateadapter.paid.app'
}
free{
minSdkVersion 10
applicationId 'com.ceshi.updateadapter.free.app'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.2.0'
//选择性对应不同渠道去与依赖不同的jar包
paidCompile files('src/libs/ShareSDK-QQ-2.7.9.jar');
freeCompile file('src/libs/123.jar');
} 最后值得一说的是 如果不同渠道所需的java文件 如同名的Activity内容逻辑不一样的话 可以建立对应于main文件夹的相应文件夹 对应于包下的同名Activity实现不同的逻辑即可
关于AndroidStudio的打包数字签名以及多渠道发布的更多相关文章
- C# Activex开发、打包、签名、发布 C# Activex开发、打包、签名、发布 [转]
C# Activex开发.打包.签名.发布 2013-06-22 12:01:20 浏览:3823 一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML ...
- AndroidStudio项目打包成jar
AndroidStudio项目打包成jar 前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和ar ...
- AndroidStudio离线打包MUI集成JPush极光推送并在java后端管理推送
1.AndroidStudio离线打包MUI 如何离线打包请参看上篇随笔<AndroidStudio离线打包MUI> 2.集成极光推送 官方文档:https://docs.jiguang. ...
- C#制作、打包、签名、发布Activex全过程
一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML是无法实现了,因此必须借用Activex来实现.由于本人主要擅长C#,自然本文给出了用C#实现的范例 ...
- C# winFrom 制作、打包、签名、发布Activex全过程
注:转自园中 http://www.cnblogs.com/still-windows7/p/3148623.html 一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调 ...
- C# Activex开发、打包、签名、发布
一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML是无法实现了,因此必须借用Activex来实现.由于本人主要擅长C#,自然本文给出了用C# ...
- C#制作、打包、签名、发布Activex全过程【转】
http://www.cnblogs.com/still-windows7/p/3148623.html 一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠H ...
- AndroidStudio 混淆打包
AndroidStudio中的项目可以用compile的形式引入github上的开 源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式.在最终realease打包时,混淆的 ...
- 整理:C#写ActiveX, 从代码到打包到签名到发布的示例
对于不懂C++和VB的我, 在工作上却遇到需要重写旧ActiveX控件的任务. 好在客户机都是Windows PC, 基本上都有.net framework 2.0, 勉强用C#实现可以满足需求 所以 ...
随机推荐
- qurtz.net
Quartz.NET的使用(附源码)(作者 陈珙) 简介 虽然Quartz.NET被园子里的大神们写烂了,自己还是整理了一篇,结尾会附上源码地址. Quartz.NET是一款功能齐全的开源作业调度 ...
- Java基本语法知识要点
0x00 一个源文件中有多少个类,在用javac编译后,在同一目录下将产生多少个对应的字节码文件(.class ).类里面不一定要有public static void main(String[] ...
- is not writable or has an invalid setter method错误的解决
java中在配置spring时,遇到is not writable or has an invalid setter method的错误一般是命名方式的问题 需要写成private userInfoD ...
- Numpy知识(二)
ndarray的简单数学计算就和普通的a+b,a-b,a*b,a/b等类似. 关于ndarray的切片: arr[n]:寻找第n个元素(针对一维)arr[n:m]:从下标为n元素开始,截取到下标为m- ...
- linux 内核移植
1. 下载内核源码linux-2.6.34,解压到工作目录下. 2. 首先在内核中增加一个 SOC ,到 /arch/arm/mach-s3c64xx 下将mach-smdk6410.c 复制成 ma ...
- 转换es6
{ "presets": [["env", { "modules": false }],"stage-3"," ...
- 常见异常代码oracle
exception oracle error sqlcode value condition no_data_found ora-01403 +100 select into 语句没有符合条件的记录返 ...
- hashcode() equals()
介绍一. hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢? ...
- Feign Hystrix
1.Feign整合Hystrix 添加依赖 编写接口与实现回退 1.1.调用者引入依赖 <!-- Feign --> <dependency> <groupId>o ...
- MyBatis数据库连接的基本使用-补充Mapper映射器
补充 Mapper映射器的使用: Mapper映射器,google添加.Mapper映射器是将mapper.xml中配置的sql id,parameterType和resultMap按照规则一一映射到 ...
