当前位置:首页 » 安卓系统 » android签名

android签名

发布时间: 2022-01-09 11:40:13

⑴ 怎么给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文件)复制到手机上就可以正常的安装运行了。

⑵ 如何将android应用生成签名

1.签名的步骤

a.创建key

b.使用步骤a中产生的key对apk签名


2.具体操作


方法一: 命令行下对apk签名(原理)

创建key,需要用到keytool.exe (位于jdk1.6.0_24jrein目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24in目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入

D:>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

/*说明:-genkey 产生密钥

-alias demo.keystore 别名 demo.keystore

-keyalg RSA 使用RSA算法对签名加密

-validity 40000 有效期限4000天

-keystore demo.keystore */

D:>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore

/*说明:-verbose 输出签名的详细信息

-keystore demo.keystore 密钥库位置

-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/

注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。


方法二:使用Eclipse导出带签名的apk

Eclipse直接能导出带签名的最终apk,非常方便,推荐使用,步骤如下:

第一步:导出。

第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystore会用到。

第三步:填写密钥库信息,填写一些apk文件的密码,使用期限和组织单位的信息。

第四步:生成带签名的apk文件,到此就结束了。

第五步:如果下次发布版本的时候,使用前面生成的keystore再签名。

第六步:Next,Next,结束!


方法三:使用IntelliJ IDEA导出带签名的apk

方法步骤基本和Eclipse相同,大概操作路径是:菜单Tools->Andrdoid->Export signed apk。

⑶ android 通用签名有哪些

系统默认的四种签名类型:
四组默认签名供Android.mk在编译APK使用:
1、testkey:普通APK,默认情况下使用。
2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。
3、shared:该APK需要和home/contacts进程共享数据。
4、media:该APK是media/download系统中的一环。
应用程序的Android.mk中有一个LOCAL_CERTIFICATE字段,由它指定用哪个key签名,未指定的默认用testkey.

⑷ Android签名有什么作用

最简单直接的回答: 系统要求的。
Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!
Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。
这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。

⑸ Android怎么签名和加密

前言:

当我们编写完我们的app之后,我们还需要做两件事:签名和加密

签名:

1>为什么要签名?

主要是为了确保应用的安全,为什么这么说呢?那么,我们首先假设android没有签名这个概念,

在这个前提下,下面来举个实例说明签名的重要性,比如,我写了一个myApp,然后装在了我的手机上,

与此同时,我又装了一个yourApp,在装yourApp的时候,突然发现myApp被覆盖了,为什么?因为yourApp

的包名和myApp的包名相同,那么,这样对于开发人员写的app的安全性是没有保障的,也就是说,随便一个

包名相同的app就可以将另一个app覆盖掉了,而我们知道获取一个应用的包名是很容易的事,所以此时签名的

概念也就随之而来了,主要是为了保证app的安全性,因为签名只有开发人员才知道,就算其他人知道这个应用

的包名,但是不知道这个应用的签名,依旧是没法覆盖的,所以这就是android中的签名的作用,与此同时,

在这里也需要提醒一下我们的开发人员,一旦app上市,那么这个app的签名一定要保存好,不然再次升级时,

是没办法做到覆盖的,最好是将签名再复制一份给上司;

2>如何签名?

在android studio中,选择Build -----> Generate Signed APK...

在这个对话框中,Build Type选择Finish即可完成签名;

注:(签名apk生成目录)

我们签名之后的apk文件,可以在上边这幅图中可以看到,不要找错签名的应用了,

在本示例中,其目录就是:C:UsersDAIDesktop

加密:

1>为什么要进行加密?

简而言之,就是为了让我们的apk不被其他人所破解;

2>如何加密?

参考了一下网上的做法,就是:通过“爱加密”来达到对我们所写APK的一种加密

注:在爱加密上加密了我们的APK之后,其官网也有明确注释,就是还需要再进行签名一次,否则,APK无法运行,

其签名工具,在 “ 爱加密 ” 官网上已给出;

这样当我们在对我们的已经加密的APK破解时,可以发现,其已无法直接获取得到源码了!!!

阅读全文

⑹ Android签名有什么作用

平时我们的程序可以在模拟器上安装并运行,是因为在应用程序开发期间,由于是以Debug面试进行编译的,因此ADT根据会自动用默认的密钥和证书来进行签名,而在以发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名。给apk签名可以带来以下好处:1.、应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名。这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序。如果你采用了不同的证书,那么系统会要求你的应用程序采用不同的包名称,在这种情况下相当于安装了一个全新的应用程序。如果想升级应用程序,签名证书要相同,包名称要相同!2、应用程序模块化:Android系统可以允许同一个证书签名的多个应用程序在一个进程里运行,系统实际把他们作为一个单个的应用程序,此时就可以把我们的应用程序以模块的方式进行部署,而用户可以独立的升级其中的一个模块3、代码或者数据共享:Android提供了基于签名的权限机制,那么一个应用程序就可以为另一个以相同证书签名的应用程序公开自己的功能。以同一个证书对多个应用程序进行签名,利用基于签名的权限检查,你就可以在应用程序间以安全的方式共享代码和数据了。不同的应用程序之间,想共享数据,或者共享代码,那么要让他们运行在同一个进程中,而且要让他们用相同的证书签名。

⑺ 如何对Android的APP进行签名

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

⑻ 如何生成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"”

⑼ android 应用签名怎么获取

方法/步骤
1
1 win7,开始菜单,搜索cmd

2
2 打开cmd

3
3 进入.android

4
4 使用命令keytool -list -v -keystore debug.keystore

5
5 需要安装keytool,办法是安装jdk,网络搜索jdk并下载安装;具体平台按实际情况选择

6 安装完毕,进入到jdk安装bin目录,并复制地址

7 回到cmd命令窗口,输入cd + 空格,并在标题栏右侧点击粘贴

8 回车,进入到这个目录

9 再次输入keytool -list -v -keystore debug.keystore命令并回车,出现错误

10 先执行以下命令keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000

11 按提示输入密码(自己定),密保答案等;到后来需要重新再输入密码,生成完成

12 到keytool目录下,看到debug.keystore已经生成成功

13 将这个文件复制到.android文件夹下

14 现在再次键入生成android签名的命令:keytool -list -v -keystore debug.keystore,按提示输入密码,即可成功生成签名

15 在标题栏右键选择标记复制其中的SHA1的值,即为android的签名

⑽ 如何生成 android 签名文件

两种方式,一种开发工具eclipse,还有就是用apktool工具。
I、只要Run As Android Application 过,到工作目录的bin文件夹下就能找到与项目同名的apk文件。
II、
A.选中项目,右键=》Andoid Tools=》Export Unsigned Application Package,直接保存,未签名的。
B.选中项目,右键=》Andoid Tools=》Export Signed Application Package,后面一步步的去做,签过名的。

APK签名主要有两种:
1. 使用特殊的key签名可以获取到一些不同的权限。
2. APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。

热点内容
shell脚本自动密码 发布:2025-01-10 10:46:29 浏览:763
安卓手机怎么切两个屏 发布:2025-01-10 10:33:51 浏览:684
python上传图片 发布:2025-01-10 10:30:54 浏览:206
培训班编程 发布:2025-01-10 10:27:56 浏览:754
plc没有编译什么意思 发布:2025-01-10 10:17:20 浏览:843
jdk源码学习 发布:2025-01-10 10:07:15 浏览:10
lumion怎么更改缓存文件的路径 发布:2025-01-10 09:57:19 浏览:399
网吧收费主机怎么查服务器ip 发布:2025-01-10 09:52:16 浏览:748
如何测量出电脑配置 发布:2025-01-10 09:29:40 浏览:523
氟压缩机型号 发布:2025-01-10 09:25:07 浏览:119