Android Studio 默认 debug.keystore , apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码
参考资料:
https://blog.csdn.net/nimasike/article/details/51457229
https://www.cnblogs.com/zhangqie/p/6439052.html
我们使用Android Studio 运行或测试我们的app 它使用一个默认的debug.keystore进行签名。
这个默认签名(keystore)是不需要密码的,它的默认位置在 $HOME/.android/debug.keystore,如果不存在Android studio会自动创建它。
例如我的debug.keystore就在 C:\Users\devil\.android\debug.keystore 。再我们正式发布项目的时候是不能使用debug.keystore的。
1. 查看当前 debug 模式下的 数字签名
keytool -list -v -keystore C:\Users\devil\.android\debug.keystore
keytool -list -v -keystore C:\Users\devil\.android\debug.keystore
首先在 jre目录的子目录bin下面找到 可执行文件 keytool , 在cmd模式下执行, 其中 C:\Users\devil\.android\debug.keystore 是本机默认的 keystore 文件。
由于 Android 应用在debug模式和release 模式 下面的数字签名往往不同,因此我们需要 对 release模式下的数字签名进行重新建立,并且可以保持 debug模式下的数字签名的设置, 当然我们也可以将 debug模式下数字签名与 release 模式下的数字签名改为相同的,一般情况下这并不是必须的。
下面记录下 release模式下的数字签名的建立以及 app应用的打包过程:
release 模式下的数字签名的建立:
下面基本就是选择默认选项,然后到工程目录下面就可以找到 已经编译好的带有数字签名的APK文件。
2. 查看 release 模式下的 数字签名
keytool -list -v -keystore C:\Users\devil\.android\devil_release.jks
3. 以上步骤是手动为release模式下的app生成设置数字签名,下面介绍如何将数字签名的设置方式保存为本机的默认设置,从而保证每次做带有数字签名的app生成的同时还能不用重新配置:
为默认的debug模式的数字签名进行配置,如果不进行配置则默认使用debug.keystore文件。这里我们也同样修改为自己生成的数字签名,然后使debug模式和release模式下面的数字签名都采用相同配置。
为release模式下的数字签名进行配置。
查看APP的配置文件应该是这样的:
app下的build.gradle 文件内容。
apply plugin: 'com.android.application' android {
signingConfigs {
android_app {
keyAlias 'androidapp'
storeFile file('C:/Users/devil/.android/devil_release.jks')
keyPassword ''
}
}
compileSdkVersion
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "activitytest.com.example.myapplication"
minSdkVersion
targetSdkVersion
versionCode
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.android_app
}
debug {
signingConfig signingConfigs.android_app
}
}
} dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
=================================================================================
带有数字签名配置的APP源码在传播的时候是存在一定的问题的,因为你把工程文件传给其他人的时候数字签名文件往往不会进行传输的,这时候如果其他人在拿到源码文件后重新进行配置数字签名文件的话是不会得到原始配置的数字签名的,如果这个APP工程调用地图API的情况下由于数字签名的不同有可能引起他人重新编译好的app难以正常运行,因此如果你的工程需要用到数字签名的话你应该将你的数字签名一并打包发给他人,以便他人能够在另一个开放环境下重新配置数字签名。
需要注意的是即使将数字签名(包括debug模式和release模式)下配置进行默认配置,这种情况下每次生成APP文件时不需要重新配置,但是以上步骤的操作只对当前工程有用,也就是说但你重新建立工程后还需要重新进行本文中的所有操作,所以可以将生成的数字签名文件 .jks文件保存在当前工程目录下,这样方便打包工程,同时可以将 .jks文件备份一个以便于每次建立新工程的时候都可以将它保存到新建的工程下面,这样至少数字签名的生成步骤是可以省掉的。
Android Studio 默认 debug.keystore , apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码的更多相关文章
- Android Studio apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码
keystore.jks文件生成,打包APK 选择Build > Generate Signed APK 出现如下弹框: 然后点击Create new...(创建的意思)出现另一个弹框,在做如下 ...
- Android Eclipse keystore.jks文件生成,根据keystore密钥获取SHA1安全码 ,apk打包
keystore.jks文件生成,打包APK 选中项目右键-> Android Tools->Export Signed Application Package ,如图: 之后 点击Nex ...
- Mac系统下查看Android studio默认debug签名与正式签名的SHA1值
https://blog.csdn.net/weixin_32364917/article/details/80095063 获取默认debug签名SHA1值方法,也可以直接打开系统的终端 输入: k ...
- Android Studio 自定义debug签名文件keystore
Android Studio 自定义debug签名文件keystore
- 将Android Studio默认布局ConstraintLayout切换成LinearLayout
将Android Studio默认布局ConstraintLayout切换成LinearLayout 大部分人初次使用google android 扁平化布局ConstraintLayout都 ...
- 修改Android Studio默认的API Level(SDK版本)
原文:修改Android Studio默认的API Level(SDK版本) Android Studio(2.1.2)新建工程的时候只会让你选择最低支持的SDK版本,默认的目标编译SDK版本会以系统 ...
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer Advanced Installer :Free for 30 da ...
- 浅谈Android Studio中项目结构中project模式的各个文件和文件夹
致敬郭霖,这些知识是从第一行代码第二版中直接码下来的,谢谢他,注意每个条目前是否有. 1..gradle和.idea 这两个目录下放置的都是Android Studio自动生成的一些文件,我们无需关心 ...
- Android Studio 默认keystore 以及自定义keystore
我们使用Android Studio 运行或测试我们的app 它使用一个默认的debug.keystore进行签名. 这个默认签名(keystore)是不需要密码的,它的默认位置在 $HOME/.a ...
随机推荐
- Btrace使用入门
1.什么是BTrace BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆 ...
- SonarQube介绍及部署
SonarQube介绍及部署 编写人:罗旭成 编写时间:2014-5-28 SonarQube简介 SonarQube是一个用于代码质量管理的开源平台(Java开发),用于管理源代码的质量,可以从七个 ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/tmp/mysql.sock'
查看是否开启服务 # ps -ef | grep mysql root 5605 5457 0 11:45 pts/2 00:00:00 grep mysql 查看my.cnf # cat /etc/ ...
- MySQL5.7 半同步复制
一.概述 5.5与5.7的半同步复制可能存在差异,从MySQL5.5开始,MySQL以插件的形式支持半同步复制 异步:默认情况下,MySQL复制是异步的.主库在执行完客户端提交的事务后会立即将结果返给 ...
- JavaScript内部原理系列-执行上下文(Execution Context)
概要 本文将向大家介绍ECMAScript的执行上下文以及相关的可执行代码类型. 定义 每当控制器到达ECMAScript可执行代码的时候,控制器就进入了一个执行上下文.执行上下文(简称:EC)是个抽 ...
- django from验证组件
from django.shortcuts import render,redirect from django.forms import Form,fields class loginForm(Fo ...
- Dubbo 和 Spring Cloud微服务架构 比较及相关差异
你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构. 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务, ...
- 设置ListBox的Item的样式
<ListBox.ItemContainerStyle> <Style TargetType="Control"> ...
- Excel_To_DataTable
/// <summary> /// Read data in excel file to datatable /// </summary> /// <param name ...
- HDU 5698 大组合数取模(逆元)
瞬间移动 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...