Android Studio3.0前后使用signingConfigs打包APK小记
时间:2022-06-16
本文章向大家介绍Android Studio3.0前后使用signingConfigs打包APK小记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在此记录一下Android Studio3.0前后打包的一些区别,以及在打包时debug和release版本如何使用同一个keystore。
在第三方sdk调试如微信支付等操作时,debug版本的apk会因为keystore与release的不同而无法吊起微信支付、登录、授权等服务。因为一般我们在微信开发者平台注册的keystore是release版的,只有与微信开发者平台一致才能使用微信相关的服务操作。
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
// buildToolsVersion '27'//可以用高版本的build-tool去构建一个低版本的sdk工程
defaultConfig {
applicationId "com.***"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
signingConfigs {
//debug和release版本配置使用同一个jks,便于微信支付调试
//------------------------方式 1 -----------------------------
// release {
// //.jks文件放在MyView项目根目录下
// storeFile rootProject.file('../MyView/myviewkey.jks')
// storePassword "******"
// keyAlias "name"
// keyPassword "***"
// }
// debug {
// //.jks文件放在MyView项目根目录下
// storeFile rootProject.file('../MyView/myviewkey.jks')
// storePassword "******"
// keyAlias "name"
// keyPassword "***"
// }
// buildTypes {
// 默认不做更改
// }
//------------------------方式 1 -------------end----------------
//------------------------方式 2 -----------------------------
//方式2中注意buildTypes { }里的配置写法
appkey {
//myviewkey.jks文件放在MyView项目根目录下
storeFile rootProject.file('../MyView/myviewkey.jks')
storePassword "***"
keyAlias "myviewkey"
keyPassword "***"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.appkey
}
debug {
signingConfig signingConfigs.appkey
}
}
//------------------------方式 2 -------------end----------------
productFlavors {
}
buildToolsVersion '28.0.1'
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
//更改apk打包后的名称,Android studio3.0之前
// android.applicationVariants.all {
// variant ->
// variant.outputs.each {
// output -> output.outputFile = new File(output.outputFile.parent, "ljy_" + defaultConfig.versionCode + "_v" + defaultConfig.versionName + "_" + buildType.name + ".apk");
// }
// }
//更改apk打包后的名称,Android studio3.0之后
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "myview_" + defaultConfig.versionCode + "_v" + defaultConfig.versionName + "_" + buildType.name + ".apk"
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:27.+'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
testImplementation 'junit:junit:4.12'
}
repositories {
mavenCentral()
}
——2019-08-08修订
其中defaultConfig.versionCode、defaultConfig.versionName已经被variant.versionCode、variant.versionName取代,如果强行使用会报错
WARNING: API 'variantOutput.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
- 如何在不影响asp.net默认安全性的前提下使用ckeditor/fckeditor?
- Linux下防御DDOS攻击的操作梳理
- Android新手之旅(8) ListView的使用
- 更换Ubuntu源为国内源的操作记录
- Android新手之旅(8) ListView的使用
- CKEditor/CKFinder升级心得
- Docker容器学习梳理-Dockerfile构建镜像
- 再谈web开中几种经典的大文件上传组件
- Nginx负载均衡中后端节点服务器健康检查的操作梳理
- Linux系统下CPU使用(load average)梳理
- 基于组件的.NET技术(5)
- Silverlight与WPF中BeginInvoke的差异
- Linux下部署SSH登录时的二次身份验证环境记录(利用Google Authenticator)
- Linux下DNS简单部署(主从域名服务器)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 二叉树的前中后序遍历
- 【tensorflow2.0】处理结构化数据-titanic生存预测
- 【pandas】pandas中的常见函数
- 走进STL - 哈希表,散装称重么
- 第八届蓝桥杯省赛javaB组题目解析
- 拥抱STL - 类/结构体元素查询与排序
- 【tensorflow2.0】处理图片数据-cifar2分类
- 操作系统实验多线程编程中的读者优先和写者优先
- 【python】使用csv库以字典格式读写csv文件
- 基于TypeScript封装Axios笔记(八)
- springmvc之HttpMessageConverter<T>
- django-模板之静态文件加载(十四)
- springmvc之使用JstlView
- django-模板之include标签(十五)
- 【pytorch】改造mobilenet_v2进行multi-class classification(多标签分类)