Android Debug key 的制作

背景

在Android App 开发过程中,我们经常会使用一些第三方的服务,但是很多的第三方服务都会要求我们提供包名,签名安装包,这时候,我们在日常调试时,就不得不使用正式签名来打包之后才能进行调试,非常不方便,下面就介绍,如何使用正式签名的.keystore来制作自己的debugkey。

具体步骤

假设我想将一个名为 release.keystore(其中:storePassword "123456" keyAlias "release" keyPassword "123456") 的签名,改为一个叫 debug.keystore 的调试签名。

下面是流程:

  1. 在控制台中移动到keystore目录下输入:(修改storePassword)
keytool -storepasswd -keystore release.keystore

会提示:

输入密钥库口令:123456
新keystore password:android
重新输入keystore password: android

** 注意:** 提示中冒号后面的内容并不会显示在控制台上,不要当做没有输入。

  1. 修改keyAlias(参数分别为: keystore文件名,之前的keyAlias,之后的必须为androiddebugkey):
keytool -changealias -keystore release.keystore -alias release -destalias androiddebugkey
输入密钥库口令:android
输入 <release> 的密钥口令: 123456
  1. 修改 keyPassword:
keytool -keypasswd -keystore release.keystore -alias androiddebugkey
输入密钥库口令:android
输入<androiddebugkey>的密钥口令:123456
新<androiddebugkey>的密钥口令:android
重新输入新<androiddebugkey>的密钥口令:android

这时候我们新的keystore就制作完成了,我们将它重命名为debug.keystore就可以在调试的时候也可以使用正式版的key了(只是签名相同了,但是还是不能用来发布的)。

总结

我们不能直接用正式版的keystore来直接调试的原因是android对于debugkey的格式是有严格要求的,

必须(storePassword "android" keyAlias "androiddebugkey" keyPassword "android")才能用来调试。在第二部中的三个其实也没有先后顺序,目的就是要把三个全部修改掉就好。

在android studio中使用时,我们可以直接在主项目的build.gradle的android{} 中添加:

signingConfigs {
debug {
storeFile file("$rootDir/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
release {
storeFile file("$rootDir/release.keystore")
storePassword "123456"
keyAlias "release"
keyPassword "123456"
}
}

这样子就一切ok了。

[Android]Android Debug key 的制作的更多相关文章

  1. 百度地图开发 Android版应用Key申请

    一 申请API key 在使用百度地图之前,我们必须去申请一个百度地图的API key,申请地址http://lbsyun.baidu.com/apiconsole/key,自己自行注册一个百度账号, ...

  2. android recovery模式及ROM制作

    转自android recovery模式及ROM制作 1.总述 为了方便客户日后的固件升级,本周研究了一下android的recovery模式.网上有不少这类的资料,但都比较繁杂,没有一个系统的介绍与 ...

  3. Android引导指示层的制作 (ViewStub + SharePreference)

    引导指示界面是个什么鬼东西?一张图即明了:

  4. Android:res之shape制作圆角、虚线、渐变

    xml控件配置属性 android:background="@drawable/shape" 标签 corners ----------圆角gradient ----------渐 ...

  5. android使用html+javascript来制作页面

    一般的android界面使用的是XML.但是XML如果要制作很高级的UI,会很复杂.如果使用HTML老进行UI设计就会简单很多. android早就提供了这样的借口. WebView.addJavas ...

  6. Android studio Debug效率提升

    Android studio Debug效率提升,可以在控制台打印log的同时而不暂停程序的运行,尤其是当遇到复杂交互的时候,比如滑动,拖动,这时候程序暂停执行是特别恶心的.其实你可以更新打印信息而不 ...

  7. Android device debug (adb) by Charge Only mode

    Android device debug by Charge Only mode Method 1 Connect devices to computer and execute lsusb Find ...

  8. 安卓 运行、调试 配置 android Run/debug configurations

    android  运行.调试 配置 android  Run/debug configurations 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq. ...

  9. 强制开启android webview debug模式使用Chrome inspect

    强制开启android webview debug模式使用Chrome inspect https://blog.csdn.net/zhulin2609/article/details/5143782 ...

随机推荐

  1. 编写高质量JS代码的68个有效方法(七)

    [20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  2. 当他们也换成了Linux OS

    近期,斯诺登的事闹得沸沸扬扬,美帝损失了公信.又有传言说Win8给美帝安全局留了后门?XP依旧是生命力旺盛. 还不就是因为那点事儿,看不到人家的源代码? 斗胆提一个问题,如果公务员们或者是一部分,开始 ...

  3. Fenix – 基于 Node.js 的桌面静态 Web 服务器

    Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...

  4. 在Kibana上格式化字段,更好的在dashboard上展示

    一.为什么要格式化? 接着之前的文章-利用 ELK系统分析Nginx日志并对数据进行可视化展示.下面是http访问的日志,里面有一个字段,bytes 传输的字节,如下图: 绿色框框内选中的就是本次请求 ...

  5. Python文件操作详解

    Python内置了一个open()方法,用于对本地文件进行读写操作.这个功能简单.实用,属于必须掌握的基础知识. 使用open方法操作文件可以分三步走,一是打开文件,二是操作文件,三是关闭文件.下面分 ...

  6. .NET框架面向对象分层的个人想理

    简单.层次清晰不要过度优化,接口这玩意儿就是个双刃剑,玩好了解藕,玩不好自找麻烦,好的代码永远都是傻瓜都能看懂的. 总结成以下几条: 公用层 代码公用并且与第三方DLL和业务逻辑无关的 独立出来 逻辑 ...

  7. linux常见进程与内核线程

    发现大量jdb2进程占用io资源.jdb2进程是一个文件系统的写journal的进程 kthreadd:这种内核线程只有一个,它的作用是管理调度其它的内核线程.它在内核初始化的时候被创建,会循环运行一 ...

  8. SystemTap知识(一)

    SystemTap是一个系统的跟踪探测工具.它能让用户来跟踪和研究计算机系统在底层的实现. 安装SystemTap需要为你的系统内核安装-devel,-debuginfo,-debuginfo-com ...

  9. 程序代码记Log

    private static object s_lock = new object(); public static void TraceLog(string message, string logF ...

  10. EF错误记录

    纯属个人记录错误使用: 1.EntityType“area”未定义键.请为该 EntityType 定义键. 产生原因: 1.命名空间引用错误,可能命名重复导致引用错误 2.实体类无法识别主键或者未设 ...