Android 更改签名

本文来自:安卓航班网   

      签名和发布应用程序

       要想使Android应用程序在真机上运行,需要对apk(Android应用程序的执行文件,相当于Symbian程序的sis/sisx或Java ME程序的jar文件)文件进行签名。可以通过命令行或ADT插件方式对apk文件进行签名。本节将详细介绍签名过程。

       使用命令行方式进行签名

       使用命令行方式进行签名需要JDK中的两个命令行工具:keytool.exe和jarsigner.exe。可按如下两步对apk文件进行签名:

       (1)使用keytool生成专用密钥(Private Key)文件。
       (2)使用jarsigner根据keytool生成的专用密钥对apk文件进行签名。

        生成专用密钥的命令如下:

keytool -genkey -v -keystore androidguy-release.keystore-alias androidguy -keyalg RSA -validity 30000

     其中androidguy-release.keystore表示要生成的密钥文件名,可以是任意合法的文件名。androidguy表示密钥的别名,后面对apk文件签名时需要用到。RSA表示密钥算法。30000表示签名的有效天数。

     在执行上面的命令后,需要输入一系列的信息。这些信息可以任意输入,但一般需要输入一些有意义的信息。下面是作者输入的信息:

输入keystore密码:
再次输入新密码: 您的名字与姓氏是什么?
[Unknown]: lining
您的组织单位名称是什么?
[Unknown]: nokiaguy.blogjava.net
您的组织名称是什么?
[Unknown]: nokiaguy
您所在的城市或区域名称是什么?
[Unknown]: shenyang
您所在的州或省份名称是什么?
[Unknown]: liaoning
该单位的两字母国家代码是什么?
[Unknown]: CN CN
=lining, OU=nokiaguy.blogjava.net, O=nokiaguy, L=shenyang, ST=liaoning, C=CN 正确吗?
[否]: Y
正在为以下对象生成
1,024 位 RSA 密钥对和自签名证书 (SHA1withRSA)(有效期为 30,000 天):

CN
=lining, OU=nokiaguy.blogjava.net, O=nokiaguy, L=shenyang, ST=liaoning, C=CN

输入
<androidguy>的主密码 (如果和 keystore 密码相同,按回车):
[正在存储 androidguy
-release.keystore]

     在输入完上面的信息后,在当前目录下会生成一个androidguy-release.keystore文件。这个文件就是专用密钥文件。

     下面使用jarsigner命令对apk文件进行签名。首先找到本章实现的例子生成的apk文件。该文件在ch02_showdatetime\bin目录中,在Windows控制台进入该目录,并将刚才生成的androidguy-release.keystore文件复制到该目录中,最后执行如下命令:

jarsigner -verbose -keystore androidguy-release.keystore ch02_showdatetime.apk androidguy

     其中androidguy表示使用keytool命令指定的专用密钥文件的别名,必须指定。在执行上面的命令后,需要输入使用keytool命令设置的keystore密码和<androidguy>的主密码。如果这两个密码相同,在输入第2个密码时只需按回车键即可(要注意的是,输入的密码是不回显的)。如果密码输入正确,jarsigner命令会成功对apk文件进行签名。签完名后,我们会发现ch02_showdatetime.apk文件的尺寸比未签名时大了一些。

原文地址:http://www.apkway.com/forum.php?mod=viewthread&tid=1191&extra=page%3D2

转载于:https://www.cnblogs.com/yyq-quan/archive/2011/07/08/2101434.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unc 隐藏共享文件夹_你真的了解任务栏吗?win10任务栏居然隐藏了这么多小窍门...

平常使用电脑&#xff0c;最常用的是桌面&#xff0c;桌面上最常用的大约是任务栏&#xff0c;但是你真的了解任务栏吗&#xff1f;除了一小部分朋友熟悉之外&#xff0c;大部分人估计都是没有留意到&#xff0c;其实任务栏就功能角度来说&#xff0c;的确算一个宝藏之地。什么…

c#调api串口通讯

c#调api串口通讯 原文:c#调api串口通讯在调试ICU通信设备的时候&#xff0c;由于串口通信老出现故障&#xff0c;所以就怀疑CF实现的SerialPort类是否有问题&#xff0c;所以最后决定用纯API函数实现串口读写。先从网上搜索相关代码&#xff08;关键字&#xff1a;C# API 串口&…

手机充电IC设置电流与实测电流不一致问题剖析

大家好&#xff0c;我是写代码的篮球球痴&#xff0c;转一篇我朋友记得诚的文章本文转载来自一位基带大佬&#xff0c;解决问题的思路很重要。原文链接&#xff1a;https://blog.csdn.net/AirCity123/article/details/104428325?spm1001.2014.3001.5502某手机的充电架构如下&a…

今天面试了家公司

2011-07-08 不知不觉&#xff0c;做管理软件已经四五年了&#xff0c;今天面试了家做多媒体的公司&#xff0c;感觉不错&#xff0c;想转去做多媒体。转载于:https://blog.51cto.com/3298226/606809

checkbox居中 editor_radio 或 CheckBox 关联 其他元素 整体选择

场景&#xff1a; list组件中&#xff0c;每一行 需要显示多个radio 或者 checkBox&#xff0c;并且每一行显示选择的类型都不一样&#xff01;radio 或checkBox 的选择数据源是存放另一个data组件中&#xff01;&#xff01; 思路&#xff1a;正常的想法是每一行放一个radioGr…

Spring系列(六) Spring Web MVC 应用构建分析

DispatcherServlet DispatcherServlet 是Spring MVC的前端控制器名称, 用户的请求到达这里进行集中处理, 在Spring MVC中, 它的作用是为不同请求匹配对应的处理器, 将结果传递给视图解析器最终呈现给客户端. 前端控制器模式&#xff08;Front Controller Pattern&#xff09;是…

做个好人,加个晚班

我和建平在腾讯加班的日子前几天&#xff0c;他让我给他发照片&#xff0c;因为公司里年末要发照片墙&#xff0c;他说要把我的和他的照片放上去&#xff0c;然后我硬是找了几张觉得不错的给他&#xff0c;然后他也真的放上去了。再看那些照片&#xff0c;拍出来的效果都不咋样…

使用use index优化sql查询

转自&#xff1a;http://www.cnblogs.com/edwardlost/archive/2010/12/31/1923105.html 先看一下arena_match_index的表结构&#xff0c;大家注意表的索引结构 CREATE TABLE arena_match_index ( tid int(10) unsigned NOT NULL DEFAULT 0, mid int(10) unsigned NOT NULL …

中ridge_10种线性代数在数据科学中的强大应用(内附多种资源)

原文选自 | Analytics Vidhya作者 | Khyati Mahendru本文转载自 TalkingData数据学堂 &#xff0c;未经允许禁止转载本文摘要线性代数为各种各样的数据科学算法和应用提供支持在这里&#xff0c;我会向您介绍通过线性代数帮助您成为更好的数据科学家的10种实际应用我们已将这些…

排序算法之冒泡排序(JAVA)

//冒泡排序算法 平均时间复杂度 O(n*n) 稳定的排序算法 下面的是改进版的冒泡排序算法&#xff0c;使用exchange 标志位进行控制 public class bubbleSort { public static void bubbleSort(int[] data) { int i 0; int j 0; int tmp 0; int len …

C语言中变量的储存类别

C语言中变量的储存类别C语言中变量的储存类别1.动态存储方式与静态动态存储方式&#xff1a;从变量值存在的作时间&#xff08;即生存期&#xff09;角度来分&#xff0c;可以分为静态存储方式和动态存储方式。静态存储方式&#xff1a;是指在程序运行期间分配固定的存储空间的…

语言与golang语言运行速度_Golang语言情怀第13期 Go 语言设计模式 介绍

设计模式是什么俗话说&#xff1a;站在别人的肩膀上&#xff0c;我们会看得更远。设计模式的出现可以让我们站在前人的肩膀上&#xff0c;通过一些成熟的设计方案来指导新项目的开发和设计&#xff0c;以便于我们开发出具有更好的灵活性和可扩展性&#xff0c;也更易于复用的软…

blog发布测试

blog发布测试转载于:https://www.cnblogs.com/aj407blogs/p/9736120.html

字符串2在字符串1中第一次出现的位置strstr()

//字符串2在字符串1中第一次出现的位置&#xff0c;采用遍历的思想&#xff0c;移动str1的位置与str2进行匹配char *strstr(const char *str1, const char *str2) {int i 0;if (NULL str1){return NULL;}if (NULL str2){return (char *)str1;}if (*str2 ! \0){while (*str1 …

苦练IoT应用开发,还能加速变现,这个机会别错过

都说人间大事&#xff0c;不过吃喝二字。厨房经济近年来显示出了巨大发展潜力&#xff0c;智能厨电已成为潮流趋势。智慧厨电究竟是如何——让厨房小白做出一顿可口大餐&#xff1f;让懒人摆脱厨房油烟和洗碗的困扰&#xff1f;让怕冷的人喝到永远55℃的热水&#xff1f;……在…

jquery UI集合

http://www.cnblogs.com/leoxie2011/archive/2011/04/08/2009978.html

android人脸识别demo_零门槛解决Windows人脸识别应用开发难题

自人脸识别免费SDK——ArcFace3.0上线以来&#xff0c;凭借对人脸识别、活体检测、年龄检测、性别检测等核心算法模型进行全面升级&#xff0c;大幅提升算法鲁棒性&#xff0c;显著降低接入门槛&#xff0c;同时支持Windows、iOS、Android&#xff08;包含Android10&#xff09…

strcpy()源代码

将源字符串拷贝到目的字符串中 char *strcpy(char *dest, const char *src) {assert((NULL ! dest) && (NULL ! src));char *ret dest;while ((*dest *src) ! \0){;}return ret; }

Visual Studio会让嵌入式开发变得更香

在几个月之前&#xff0c;我一直非常喜欢用Source Insight看代码&#xff0c;主要是习惯了原来的风格。从Source Insight 转到vscode 的原因是&#xff0c;在腾讯使用samba连接Source Insight看代码非常非常卡&#xff0c;让我觉得很难受。然后是在同事的建议下更换了vscode,里…

类和继承

所有的类都派生自Object;派生类引用可以转换成基类&#xff1b;屏蔽基类成员使用关键字new则可以屏蔽基类成员&#xff1b;虚方法和覆写方法基类的方法被标记为virtual 在派生类中有匹配的override方法 For Example&#xff1a; class MyBaseClass{ Virtual public void printf…