导航:首页 > 操作系统 > android数字签名

android数字签名

发布时间:2022-04-16 23:27:09

1. 安卓app开发签名文件是什么意思

所有的android应用程序都要求开发人员用一个证书进行数字签名,anroid系统不会安装没有进行签名的由于程序。

平时我们的程序可以在模拟器上安装并运行,是因为在应用程序开发期间,由于是以Debug面试进行编译的,因此ADT根据会自动用默认的密钥和证书来进行签名,而在以发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名。

给apk签名可以带来以下好处:

1. 应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名。这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序。如果你采用了不同的证书,那么系统会要求你的应用程序采用不同的包名称,在这种情况下相当于安装了一个全新的应用程序。如果想升级应用程序,签名证书要相同,包名称要相同!

2.应用程序模块化:Android系统可以允许同一个证书签名的多个应用程序在一个进程里运行,系统实际把他们作为一个单个的应用程序,此时就可以把我们的应用程序以模块的方式进行部署,而用户可以独立的升级其中的一个模块

3.代码或者数据共享:Android提供了基于签名的权限机制,那么一个应用程序就可以为另一个以相同证书签名的应用程序公开自己的功能。以同一个证书对多个应用程序进行签名,利用基于签名的权限检查,你就可以在应用程序间以安全的方式共享代码和数据了。

不同的应用程序之间,想共享数据,或者共享代码,那么要让他们运行在同一个进程中,而且要让他们用相同的证书签名。

2. android studio怎么获取数字签名

一、网络官方方法
第一种:使用keytool
keytool -list -v keystorefile -storepass 123456
其中keytool为jdk自带工具;keystorefile为Android 签名证书文件
第二种:在adt 22中直接查看
如果使用adt 22,可以在eclipse中直接查看:winows -> preferance -> android -> build。 如下图示:

其中"SHA1 fingerprint"值即为Android签名证书的sha1值。
二、实际情况
原以为网络还挺人性,说就说了还截了个图,咦呀,顿时那个仰慕之情滔滔江水啊,真正实操起来,悲催的事出现了,第二种方法的实际截图是这个样子的,然后就一脸黑线。

也就是第二种方法根本不能用!!!!MY GOD LADY GAGA
使用keytool
一、配置环境变量
由于要用到keytool工具,而keytool是jdk里的一个工具,首先将jdk/bin所在的目录加到环境变量的PATH中
看我的keytool所在位置

将所在路径E:\Program Files\android others\jdk\bin加到PATH变量中:

二、找到另一个文件debug.keystore
这个文件是在你放工程的目录下的,如果是默认的话,是在C:\Documents and Settings\Administrator\.android目录下

三、运行命令
1、使用cd命令,将工作目录切换到C:\Documents and Settings\Administrator\.android目录下
2、输入:keytool -list -keystore debug.keystore
3、输入密钥库口令:如果没设置,这里就是空,直接回车就进去了。

3. 怎么给Android应用程序签名

Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序。不管是模拟器还是真实手机。因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。·所有的程序都必须签名,没有被签名的程序,系统将不能安装。
·可使用自签署证书签署应用程序,无须授权凭证。
·系统仅仅会在安装的时候测试签名证书的有效期,如果应用程序的签名是在安装之后才到期,那么应用程序仍然可以正常启用。
·可以使用标准工具-Keytool and Jarsigner-生成密钥,来签名应用程序的.apk文件。
Android SDK 工具可以在调试时给应用程序签名。ADT插件和Ant编译工具都提供了两种签名模式-debug模式和release模式
·debug模式下,编译工具使用JDK中的通用程序Keytool通过已知方法和密码创建秘锁和密钥。每次编译的时候,工具使用debug密钥签名应用程序的.apk文件。因为密码是已知的,工具不需要在每次编译的时候提示输入密锁和密钥。
·当应用程序调试完毕准备要发布release版本时,可以在release模式下编译。release模式下,编译工具不会将.apk文件签名。需要自己用Keytool生成密钥和密锁,再用JDK中的Jarsigner工具给.apk文件签名。签名基本设置 首先设置JAVA_HOME环境变量,告诉SDK如何找到Keytool,或者可以在Windows 系统环境变量PATH变量中添加Keytool的JDK路径。
在发布release版本时,从Package面版上按选中你的project,按鼠标右键,依次选择Android Tools、Export Application Package。或者可以点击Manifest Editor,overview 页面上的“Exporting the unsigned .apk”连接 ,导出未签名apk文件。保存.apk文件后,用Jarsigner及自己的密钥给apk文件签名,如果没有密钥, 可以用Keystore创建密钥和密锁。如果已经有一个密钥了,如公共密钥,就可以给.apk文件签名了。也可以把上面这个完整的步骤写成一个bat文件,这样需要签名的时候只要运行这个bat就可以了。下面给出一个完整的bat文件示例:
@Rem android签名程序 //注释指令
@Rem echo是显示指令 格式:echo [{on|off}] [message]
@echo **********************************************************
@Rem 文件是否存在命令格式:if exist 路径+文件名 命令
@if exist d:sign/MyFirstApp.keystore goto sign
@echo 创建签名文件MyFirstApp.keystore
@Rem keytool命令格式:-genkey产生签名 -alias别名 -keyalg加密算法 -validity有效天数 -keystore生产签名文件名称
keytool -genkey -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp.keystore
@echo 开始签名:
@Rem jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore@goto over:sign@echo 开始签名:
jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore:over@echo ********************MyFirstApp.apk 签名完成************************pause================以上是一个给应用签名的完整bat文件,在运行这个bat文件时,还需要按照屏幕提示的步骤输入一些必要信息,最后生成一个签名后的文件是:MyFirstApp_signed.apk。签名完成以后最好再把这个文件压缩一下,使用Android SDK安装路径下tools文件夹里的zipalign进行压缩,以刚才这个文件为例,也可以写成一个bat文件,示例如下:
D:\soft\android-sdk-windows\tools\zipalign -c -v 4 MyFirstApp_zip.apkpause================上面的D:\soft\android-sdk-windows用你的实际Android SDK安装路径代替。按照以上步骤签名、压缩就完成了,最后把压缩后的那个文件(比如例子中的MyFirstApp_zip.apk文件)复制到手机上就可以正常的安装运行了。

4. 如何生成android签名文件

工具/原料

Win7 x64
adt-bundle-windows-x86_64-20140702
方法/步骤

新建一个工程命名为“HelloWorld”,操作如下图所示, 处前两个界面外,其他的界面都点击默认值即可;

通过 “右键工程->Run As...->Android Application”, 在 工程目录的 bin/HelloWorld.apk 会生成一个apk文件

点击 “Use the Export Wizard”,如下图所示:

点击 Next, 如下图所示:

1、选择 "Create New Keystore",
2、输入将要保存的数字签名文件,如“D:\Android\key\HelloWorld.key”
3、输入密码,如:HelloWorld
4、输入确认码,如 HelloWorld
5、点击 Next
效果如下:

输入昵称,密码,确认码,期限,名字后,点击next,如下图所示:

输入需要签名的apk包,点击Finish后,就完成了对apk包的数字签名

同时也会生成数字签名用的文件,如:“"D:\Android\key\HelloWorld.key"”

5. android App数字签名

使用Eclipse导出apk时选择自定义的Keystore。输入密码后,最后一步你就会看到这个自定义Keystore的SHA1码了,你不要使用系统自带的那个debug.keystore的SHA1码,每个自定义的Keystore其SHA1都不一样的,看我的截图:

6. 求问,Android程序如何修改数字签名

破坏原来签名后再签名,反编译,解压都可以……再生成apk签名
签名方法:
http://www.cnblogs.com/maxinliang/p/3169335.html

源码用eclipse生成时签名
http://jingyan..com/article/c910274bfd8c00cd361d2d97.html

7. 如何生成Android的签名证书

cmd命令生成android签名证书,有空在写一篇eclipse导出带签名的apk,这里面包括生成新的签名。现在还是讲讲在cmd怎么操作生成签名证书。
1、dos下进入JDK的bin目录
运行如下命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000代表有效期天数),命令完成后,bin目录中会生成android.keystore
示例:
C:\Program Files (x86)\Java\jdk1.8.0_25\bin>
keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore d:\test.keystore
ps:-alias test 生成的keystore别名,-keyalg RSA 加密和数字签名的算法,-validity 20000 有效天数

输入密钥库口令:123456
再次输入新口令:123456
您的名字与姓氏是什么?
[Unknown]: rob
您的组织单位名称是什么?
[Unknown]: abc
您的组织名称是什么?
[Unknown]: abc
您所在的城市或区域名称是什么?
[Unknown]: guangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: guangzhou
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=rob, OU=abc, O=abc, L=guangzhou, ST=guangzhou, C=cn是否正确?
[否]: y
输入 <test> 的密钥口令
(如果和密钥库口令相同, 按回车):
如果没有错误则回去查看D盘根目录下,多了test.keystore

所以第一次输入的是,密钥库的密码。
最后输入时密钥别名的密码。到这里生成签名就搞定啦。
2、查看md5指纹验证
输入keytool -list -v -alias androiddebugkey -keystore 再加上刚刚从红色框中复制出来的内容
我这里的就是keytool -list -v -alias androiddebugkey -keystore C:\Users\ZLQ\.android\debug.keystore了,回车
-alias androiddebugkey 这个是别名
-keystore C:\Users\ZLQ\.android\debug.keystore 具体位置的密钥库
要求输入密码,密码是android,至此就可以拿到MD5认证指纹了

8. 如何对Android的APP进行签名

1、在Android Studio中打开工程,点击“Build”菜单下的“Generate Signed APK”。

阅读全文

与android数字签名相关的资料

热点内容
苹果笔记本t2加密芯片怎么打开 浏览:796
安卓如何把手机投屏至电视 浏览:737
方舟编译器现在可提速哪些软件 浏览:58
微信加密为什么是黑屏 浏览:473
android去电状态 浏览:602
苹果13如何加密视频 浏览:813
linuxweblogic缓存 浏览:67
云服务器不同地域 浏览:946
python闹钟怎么打 浏览:686
虚拟主机服务器有什么区别 浏览:833
算法与程序的奥秘章节检测 浏览:377
找pdf 浏览:529
与服务器连接断开如何处理 浏览:833
服务器维修预计十分钟什么意思 浏览:170
黑马程序员主打教学是什么 浏览:41
python九乘法表怎么编写 浏览:974
思维方式pdf 浏览:656
tcc社区app怎么注册 浏览:941
央视网下载加密 浏览:454
命令行访问服务器 浏览:36