关于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#实现可以满足需求 所以 ...
随机推荐
- servlet中请求转发(forword)与重定向(sendredirect)
请求转发和重定向 request.setAttribute("test","hello"); request.getRequestDispacther(&quo ...
- python 函数返回值笔记
今天学习python时候学习到闭包和柯里化 感觉看概念时候不好理解,自己写下大概就明白点了 柯里化如下 定义一个加法函数 def add(x, y): return x + y 这是没有柯里化之前的函 ...
- LeetCode OJ 143. Reorder List(两种方法,快慢指针,堆栈)
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...
- Structs复习 Result第一部分
Jar包 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=&q ...
- spring boot集成MyBatis
- MDI窗体容器
Mdi是一个窗体容器控件,直接在新建好的窗体里面,将此窗体设置为Mdi容器,开启了Mdi容器的窗体里面,如果有点击事件打开新窗体,则这些新窗体会在此窗体内部的Mdi容器中打开 操作步骤: 1.首先先新 ...
- oracle 日志恢复数据
1:首先查找redo,如果redo有可供恢复的信息,就那redo中的信息进行恢复,此时一般在恢复时,类似如下:SQL> recover database;Media recovery compl ...
- kafka 删除topic清空数据
原 kafka 删除topic清空数据 2018年11月20日 18:17:50 Ming! 阅读数:1391 版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- cgi调用linux系统命令
1.例如:建一个目录:system("mkdir yourdir").(1)首先:要用root用户如果cgi中要用root用户,则必须在boa.conf文件中配置,将User no ...
- 解题7(FindFirstOnlyOne)
题目描述 找出字符串中第一个只出现一次的字符 输入描述: 输入一个非空字符串 输出描述: 输出第一个只出现一次的字符,如果不存在输出-1 示例1 输入 asdfasdfo 输出 o 代码如下: pac ...
