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 ...
随机推荐
- shell内置命令eval的具有什么作用
答:把变量中的内容当成命令来执行
- iOS开发中的地图开发
显示地图: 1.导入头文件 #import <MapKit/MapKit.h> 如果同时需要用户定位的话还需要 #import <CoreLocation/CoreLocation. ...
- 【论文解析】MTCNN论文要点翻译
目录 0.论文连接 1.前言 2.论文Abstract翻译 3.论文的主要贡献 4.4 训练 5 模型性能分析 5.1 关于在线挖掘困难样本的性能 5.2 将人脸检测与对齐联合的性能 5.3 人脸检测 ...
- 【转】chrome 67版本后无法拖拽离线安装CRX格式插件的解决方法
第一种:开启开发者模式即可 (推荐) chrome 的设置 -> 更多工具 -> 扩展程序,开启开发者模式即可! 第二种方法:修改参数 首先打开下面地址:chrome://flags/# ...
- [C# 开发技巧系列]如何动态设置屏幕分辨率
首先,大家应该明确,现在没有可用的API来给我们动态地设置屏幕分辨率,我们要实现这个需求,我们只能在C#程序中调用Win32 API 函数来解决这个问题的,这里用C#代码调用Win32 API 就涉及 ...
- C# 自动触发鼠标、键盘事件
要在C#程序中触发鼠标.键盘事件必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// ...
- bzoj 1192 鬼谷子的钱袋 数学
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各 ...
- Mac下配置NDK环境
下载NDK 这里写图片描述配置NDK开发环境 第一步:打开Mac终端 Snip20170208_1.png 第二步:在终端中输入:open -e .bash_profile,打开.bash_profi ...
- spark sql 窗口函数over partition by
1.窗口函数需要使用hiveContext,故引入如下包 libraryDependencies += "org.apache.spark" %% "spark-core ...
- matlab C++ (VS Qt)混合编程 / mxArray / QT5中文乱码
一.混合编程环境搭建---依据我的情况,分成了4个部分: 1:破解matlab,因为matlab破解不完全,编译器不能使用,会出错.(参考https://blog.csdn.net/a12593012 ...