android应用签名(Android签名有什么作用)

2024-06-26 02:35:59 51

android应用签名(Android签名有什么作用)

本文目录

Android签名有什么作用

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

如何将android应用生成签名

1.签名的步骤

  a.创建key

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

2.具体操作

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

  创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目录下),把上两个软件所在的目录添加到环境变量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系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序。不管是模拟器还是真实手机。因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。·所有的程序都必须签名,没有被签名的程序,系统将不能安装。
  ·可使用自签署证书签署应用程序,无须授权凭证。
  ·系统仅仅会在安装的时候测试签名证书的有效期,如果应用程序的签名是在安装之后才到期,那么应用程序仍然可以正常启用。
  ·可以使用标准工具-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 应用签名怎么获取

android 应用签名获取方法如下:

1、选择程序,右键---》android tools ---》签名发布,按步骤生成一个签名keystore和一个经过签名的apk,安装该APK到手机;

2、选择自己的程序,右键运行到手机

3、下载签名应用,在手机中运行,根据提示输入程序的包名获得一个apk签名字符串,最后将这个字符串填到第一步的应用签名栏处。保存即可正常调试应用了。

android 应用签名查看方法如下:

(1) debug的apk通过Eclipse查看,如下图:

(2) 某个keystore签名的应用,通过

Javakeytool - list - keystore E : \ Trinea \ keystore \ appsearch . keystore查看,会要求输入签名密码,默认为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...   

填写完相应的选项(注:若没有key store, 可自行新建一个)     -----》  Next    -----》   

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

注:(签名apk生成目录)

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

在本示例中,其目录就是:C:\Users\DAI\Desktop

加密:

1》为什么要进行加密?

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

2》如何加密?

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

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

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

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

阅读全文

如何查看android应用签名文件的信息

以下介绍查看自己的应用签名及三方APK或系统APK签名信息,包含其中的MD5、SHA1、SHA256值和签名算法等信息。

1、查看自己的应用签名可以通过两种方式查看(1) debug的apk通过Eclipse查看,如下图:

(2) 某个keystore签名的应用,通过以下命令查看

keytool -list -keystore E:\Trinea\keystore\appsearch.keystore,会要求输入签名密码,默认为android,如下图:

2、查看三方应用或是系统应用签名用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件,通过keytool -printcert -file META-INF/CERT.RSA命令打印证书信息,如微信证书信息如下图:

可以查看签名的MD5、SHA1、SHA256值及签名算法

android应用签名(Android签名有什么作用)

本文编辑:admin

更多文章:


linux web服务器配置(如何在linux系统搭建web服务器java)

linux web服务器配置(如何在linux系统搭建web服务器java)

其实linux web服务器配置的问题并不复杂,但是又很多的朋友都不太了解如何在linux系统搭建web服务器java,因此呢,今天小编就来为大家分享linux web服务器配置的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分

2024年8月26日 08:10

js圣诞树特效(李小龙惊人的“背部圣诞树”,究竟是怎样练成的)

js圣诞树特效(李小龙惊人的“背部圣诞树”,究竟是怎样练成的)

本文目录李小龙惊人的“背部圣诞树”,究竟是怎样练成的王者荣耀蔡文姬圣诞皮肤曝光,技能特效非常华丽,你会买吗“吃鸡”手册里的S686有“翅膀”,手雷皮肤能砸出来一棵圣诞树,这是怎么回事如何看李小龙惊人的“背部圣诞树”,究竟是怎样练成的想要练成

2024年7月10日 16:12

datasource health check failed(java中运行时出现下面的错误是什么原因呢其中有配置spring)

datasource health check failed(java中运行时出现下面的错误是什么原因呢其中有配置spring)

其实datasource health check failed的问题并不复杂,但是又很多的朋友都不太了解java中运行时出现下面的错误是什么原因呢其中有配置spring,因此呢,今天小编就来为大家分享datasource health c

2024年9月26日 04:16

java中assert的作用(Assert 在Java和Groovy中的区别 / 蓝讯)

java中assert的作用(Assert 在Java和Groovy中的区别 / 蓝讯)

各位老铁们好,相信很多人对java中assert的作用都不是特别的了解,因此呢,今天就来为大家分享下关于java中assert的作用以及Assert 在Java和Groovy中的区别 / 蓝讯的问题知识,还望可以帮助大家,解决大家的一些困惑

2024年9月10日 03:25

shiro加密(shiro密码加密用什么算法好)

shiro加密(shiro密码加密用什么算法好)

本文目录shiro密码加密用什么算法好shiro(13)-JWT(Token的生成)shiro密码加密用什么算法好不可逆的就可以。最重用的MD5即可,可以MD5 ,N次,再不安全,再在每次加密的时候加盐即可,或者加一点自己的固定规则的算法。

2024年6月13日 20:08

forget的意思(Forget是什么意思)

forget的意思(Forget是什么意思)

本文目录Forget是什么意思forgot是什么意思forget的意思Forget是什么意思忘记,遗忘。1、读音:英   2、释义:忘记做(或带、买等),不再想。3、语法:forget的基本含义是“忘,忘记”,指由于记忆上的忽略而对某人或某

2024年6月22日 12:39

web浏览器在哪里打开(打开web浏览器,在哪输入搜索引擎的地址)

web浏览器在哪里打开(打开web浏览器,在哪输入搜索引擎的地址)

本文目录打开web浏览器,在哪输入搜索引擎的地址打开web浏览器在什么输入搜索引擎的地址如何打开web浏览器默认浏览器设置在哪里ps5的网页浏览器在哪打开web浏览器,在哪输入搜索引擎的地址1、在浏览器的地址栏中直接输入搜索引擎的网址。2、

2024年5月9日 09:06

restaurant是什么意思翻译(餐厅的英文)

restaurant是什么意思翻译(餐厅的英文)

本文目录餐厅的英文restaurant是什么意思餐厅的英文餐厅的英文: dining room ; restaurantdining room英  美  n. 餐厅短语:Dining room set 起居室配套家具 ; 起居室配套 ; 起

2024年6月27日 07:11

携程电话号码人工服务热线(携程24小时人工电话多少)

携程电话号码人工服务热线(携程24小时人工电话多少)

本文目录携程24小时人工电话多少携程24小时人工客服携程的人工服务电话是多少携程24小时人工电话多少携程统一服务热线:境内:95010或400-830-6666,转1酒店预订,转2国内机票预订,转3国际机票预订,转4旅游度假预订,转5用车服

2024年6月21日 04:32

stacks是什么意思(苹果分析数据stacks是啥意思)

stacks是什么意思(苹果分析数据stacks是啥意思)

本篇文章给大家谈谈stacks是什么意思,以及苹果分析数据stacks是啥意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录苹果分析数据s

2024年7月17日 01:01

个人主页查看安全分(穿越火线安全分不足90怎么查)

个人主页查看安全分(穿越火线安全分不足90怎么查)

各位老铁们好,相信很多人对个人主页查看安全分都不是特别的了解,因此呢,今天就来为大家分享下关于个人主页查看安全分以及穿越火线安全分不足90怎么查的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录穿越火线安全分不足9

2024年8月27日 20:45

人成免费入口2022(2022年湖北成人高考报名入口在哪里最新报考流程)

人成免费入口2022(2022年湖北成人高考报名入口在哪里最新报考流程)

“人成免费入口2022”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看人成免费入口2022(2022年湖北成人高考报名入口在哪里最新报考流程)!本文目录2022年湖北成人高考报名入口在哪里最新报考流程湖北省2022年成人高考

2024年9月4日 01:40

电脑开机显示rpc服务器不可用,开不了机怎么办?打印时出现,rpc服务器不可用是为什么

电脑开机显示rpc服务器不可用,开不了机怎么办?打印时出现,rpc服务器不可用是为什么

本文目录电脑开机显示rpc服务器不可用,开不了机怎么办打印时出现,rpc服务器不可用是为什么什么是RPC服务如何启动RPC服务电脑开机显示rpc服务器不可用linux 如何判断rpc服务是否开启以及如何开启rpc服务器不可用是什么意思lin

2024年7月16日 19:52

dw网站制作的源代码(dw怎么将源代码发给别人)

dw网站制作的源代码(dw怎么将源代码发给别人)

本文目录dw怎么将源代码发给别人Dreamweaver8怎么生成源代码dw怎么将源代码发给别人上传到FTPweb目录下发送给对方。想要发送给他人,首先需要有一个空间和域名,然后把源代码上传到FTPweb目录下对方在输入域名之后就可以进行访问

2024年3月30日 09:27

js和php哪个难(java,js,php,c++这些语言哪种好学一点)

js和php哪个难(java,js,php,c++这些语言哪种好学一点)

本文目录java,js,php,c++这些语言哪种好学一点js和PHP哪个更厉害点,更有前途c语言的算法和js,phpsq,,myq算法那个更难,以及语法JS与C,还有php他们的那个逻辑性强那个更难学 还有他们之间的算法都一样么以及算法难

2024年7月23日 14:42

flash教程电子书下载(请问哪里有flash教程免费  下载  )

flash教程电子书下载(请问哪里有flash教程免费 下载 )

其实flash教程电子书下载的问题并不复杂,但是又很多的朋友都不太了解请问哪里有flash教程免费 下载 ,因此呢,今天小编就来为大家分享flash教程电子书下载的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目

2024年6月30日 21:24

两个表格相同数据匹配(excel两个表格如何匹配相同的内容)

两个表格相同数据匹配(excel两个表格如何匹配相同的内容)

“两个表格相同数据匹配”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看两个表格相同数据匹配(excel两个表格如何匹配相同的内容)!本文目录excel两个表格如何匹配相同的内容如何用两个Excel表格匹配相同数据两个表格怎么

2024年7月30日 06:06

onmouseout用法(onmouseover,onmouseout的使用方法)

onmouseout用法(onmouseover,onmouseout的使用方法)

本文目录onmouseover,onmouseout的使用方法关于JS mouseover与mousout的用法!onmouseover在JS里的用法关于onmouseout的使用js的onmouseover事件怎么用关于onmouseou

2024年5月6日 01:57

按键精灵源码库(怎么看按键精灵的源码)

按键精灵源码库(怎么看按键精灵的源码)

大家好,今天小编来为大家解答以下的问题,关于按键精灵源码库,怎么看按键精灵的源码这个很多人还不知道,现在让我们一起来看看吧!本文目录怎么看按键精灵的源码按键精灵打包后还能看到源码吗按键精灵的源码和c语言一样吗按键精灵安卓版录制好的脚本怎么查

2024年7月7日 08:15

jndi连接数据库(jsp怎么用jndi连接SQLServer2000数据库,哪位高手教我,请给出实例,谢谢!)

jndi连接数据库(jsp怎么用jndi连接SQLServer2000数据库,哪位高手教我,请给出实例,谢谢!)

本文目录jsp怎么用jndi连接SQLServer2000数据库,哪位高手教我,请给出实例,谢谢!关于Java中的数据库连接,JDBC和JNDI使用JNDI连接数据库连接池问题,救命啊!!!!配置好JDBC,在EJB中通过JNDI如何连接到

2024年7月5日 16:17

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1735
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索