×

Android - 自动系统签名_android 系统签名

前端技术网 前端技术网 发表于2023-12-06 17:51:20 浏览3030 评论0

抢沙发发表评论

一、android 应用程序升级提示签名相同不能覆盖是为什么

android应用程序升级提示签名相同不能覆盖是为什么

应该是签名不同吧,相同应该可以覆盖呀!

什么是应用程式签名,为什么要为应用程式签名

"数字签名"是指可以新增到档案的电子安全标记。使用它可以验证档案的释出者以及帮助验证档案自被数字签名后是否发生更改。

Android - 自动系统签名_android 系统签名

数字签名的主要功能有2点,分别软体真实性和完整性。真实性:即软体来源可信(软体开发商来源真实);完整性,确保软体在释出后没有经过篡改。

参考:为软体进行数字签名的必要性

为什么我升级QQ浏览器不能安装,提示应用程式未安.

你好楼主,重启您的手机试下,或者检查您的手机记忆体是否够用,解除安装不常用的软体以获得更多的手机记忆体空间。手机QQ浏览器的安装包很小,一般不会占用您过多的手机空间,而且它使用了腾讯自主开发的超强极速核心,保证了浏览器自身的稳定效能、相容性的同时还大幅优化了浏览器的载入速度,开启网页几乎没有延时

android启动时为什么要升级应用程式

造成 Android开机就显示升级应用的错误,是自己刷机后没有wipe,双清。或手机线上ota升级后没有自动双清,导致系统快取混乱,所以报错,建议执行wipe(双清)操作。

wipe会删除手机所有设定和所有已安装程式及相关档案,恢复到出厂设定,就是刚拿到手机的原始状态。

Android - 自动系统签名_android 系统签名

双wipe步骤如下:

1.关机按HOME键+电源键进入recovery模式。

2.用音量下键选择wipe data/factory reset这项。

3.按HOME键执行wipe data/factory reset命令后再用音量下键选择Yes-- delete all user data并按HOME键执行命令。

4.执行Yes-- delete all user data命令后,表示开始执行。

5.按音量下键选择wipe cache partition命令并按HOME键执行。

6.执行wipe cache partition命令后,音量下键选择Yes-- Wipe Cache并按HOME键执行命令。

7.执行Yes-- Wipe Cache命令后,表示wipe cache partition也执行成功了。

wipe data/factory reset和wipe cache partition执行成功后选择 reboot system now重启系统即可。

怎么给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。

上百度搜索APK签名软体,一般是开启软体选择要签名的APK档案,等到签名完成后会生成一个新的APK档案,新旧的这两个档案大小必须差别非常小,否则就是签名不成功导致档案损坏。

1、准备工作

apk的签名工作可以通过两种方式来完成:

1)通过ADT提供的图形化介面完成apk签名;

2)完全通过DOS命令来完成apk签名

我比较喜欢第2)种方式,所以下面将讲解如何通过命令的方式完成apk签名。

给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool、jarsigner和zipalign,下面是对这3个工具的简单介绍:

1)keytool:生成数字证书,即金钥,也就是上面说到的副档名为.keystore的那类档案;

2)jarsigner:使用数字证书给apk档案签名;

3)zipalign:对签名后的apk进行优化,提高与Android系统互动的效率(Android SDK1.6版本开始包含此工具)

从这3个工具的作用也可以看出,这3个工具的使用顺序。通常我们自己所开发的所有应用程式,都是使用同样的签名,即使用同一个数字证书,这就意味着:如果你是第一次做Android应用程式签名,上面的3个工具都将用到;但如果你已经有数字证书了,以后再给其它apk签名时,只需要用到jarsigner和zipalign就可以完成。

为了方便使用上面3个命令,首先需要将上面3个工具所在路径新增到环境变数path中(我说的是为了方便使用,没有说必须要这么做)。怎么配置环境变数就不在此讲解了,这里需要说一下这3个工具预设所在的路径:

1)keytool:该工具位于jdk安装路径的bin目录下;

2)jarsigner:该工具位于jdk安装路径的bin目录下;

3)zipalign:该工具位于android-sdk-windows/tools/目录下

不知道大家是否注意到keytool和jarsigner两个工具是jdk自带的,也就意味着生成数字证书和档案签名不是Android的专利;另外从字面上理解jarsigner也能猜得出该工具主要是用来给jar档案签名的。

2、生成未经签名的apk档案

既然我们要自己对apk进行签名,就不再需要ADT预设帮我们签名了。如何得到一个未经签名的apk档案呢?开启Eclipse,在Android工程名称上点选右键,依次选择“Android Tools”-“Export Unsigned Application Package...”,然后选择一个储存位置储存即可。这样就得到了一个未经签名的apk档案。

3、使用keytool工具生成数字证书

keytool-genkey-v-keystore liufeng.keystore-alias liufeng.keystore-keyalg RSA-validity 20000

说明:

1)keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细资讯打印出来,显示在dos视窗中;

2)-keystore liufeng.keystore表示生成的数字证书的档名为“liufeng.keystore”;

3)-alias liufeng.keystore表示证书的别名为“liufeng.keystore”,当然可以不和上面的档名一样;

4)-keyalg RSA表示生成金钥档案所采用的演算法为RSA;

5)-validity 20000表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效

MOTO E2安装moto txt时提示为未签名应用程式

你好,其实想阅读电子书不必这么麻烦,可以先把你想阅读的电子书在电脑里改字尾为HTML(如:金庸全集.txt改为金庸全集.)就可以了。再把以修改的电子书在手机里开启就能阅读。是以一个网页形式开启的,绝不收费,请放心使用。并可以***字型的大少。

还有一点,E2的浏览器是OPERA MINI的,是目前手机浏览器中最好的一个软体。只要OPERA MINI中有的功能,也可以用在电子书上,方便实用,不加重E2负担。。。。。

推荐使用。。。。。。。。

为什么msn不能安装,提示为由于应用程式配置不正确,应用程式未能启动。

我装了 VC2005还是安装不了 MSN啊~~刚刚从官网下的 MSN9.0

线上求助啊!@@@@

我刚刚解决了这个问题,可能是上一次删除或者安装除了错。而你必须用你上次安装的那个exe程式重新安装一次才行

我电脑昨儿重灌的,msn可能损坏了,本来我从官网下载了:Windows Live Messenger 2009独立安装包(官方加强版)

刚才想换成这个,但是就提示出:由于应用程式配置不正确,应用程式未能启动。

我就尝试着用自己上次安装msn的那个9.0重新安装,居然能装上。

我不知道你的问题是不是如此,但是你可以试一下。

网上还有答案是:

把这个资料夹删除了就行了C:\Program Files\Windows Live

我没试过,如果我的方法不行,你也不妨尝试一下哦~

祝你的msn很快就安上哦~

二、Android签名有什么作用

Android签名有什么作用

最简单直接的回答:系统要求的。

Android系统要求每一个Android应用程式必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程式没有经过数字签名,是没有办法安装到系统中的!

Android通过数字签名来标识应用程式的作者和在应用程式之间建立信任关系,不是用来决定终端使用者可以安装哪些应用程式。

这个数字签名由应用程式的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程式包自我认证的。

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

word电子签名有什么作用?

对文件进行数字签名与签署纸质文件的原因大致相同。数字签名通过使用计算机加密来验证(身份验证:验证人员和产品所宣告的身份是否属实的过程。例如,通过验证用于签名程式码的数字签名来确认软体发行商的程式码来源和完整性。)数字资讯,如文件、电子邮件和巨集。数字签名有助于确保:

真实性数字签名有助于确保签署人的身份与宣告的相符。

完整性数字签名有助于确保内容在经过数字签名之后未经更改或篡改。

不可否认数字签名有助于向所有方证明签署内容的有效性。“否认”指签名人否认任何与签署内容有关系的行为。

为了确保以上各项,必须由内容建立者使用满足下列条件的签名对内容进行数字签名:

该数字签名有效(有效:一种证书状态,根据证书颁发机构的资料库对证书进行检查后发现它是合法的、最新的,而且没有过期或被吊销。由有效证书签名且签名后没有更改的文件被视为有效文件。)。

与该数字签名关联的证书(证书:一种证明身份和真实性的数字方法。证书由证书颁发机构颁发,而且和驾驶执照一样,也可能过期或被吊销。)有效(没有过期)。

作为释出者的签名人或公司可信(信任:表示您是否信任证书颁发的受体(个人或组)。预设设定是“继承颁发者的信任关系”,也就是因为对颁发者(通常是证书颁发机构)的信任而信任证书。)。

与数字签名关联的证书由有声望的证书颁发机构(CA)(证书颁发机构(CA):一个商业组织,它颁发数字证书,跟踪被颁发证书的人员,对证书签名以验证其有效性,并跟踪被吊销或已过期的证书。)颁发给签名释出者。

信用卡签名有什么作用

相当于合同**时有依据平常是没什么拉

手机软体签名有什么作用

目前有实力的公司或确实有需要的公司会购买诺基亚的高阶权

限证书,通常是安全厂商.这类公司的软体不需要我们自签名,还有许多

软体都是一般的应用软体,和系统没什么关联,它们许可权很低,不可能存

在危险,比如网路电视软体,阅读软体,QQ,主题等都不需要签名.需要签

名的软体软体大致可分为以下几种情况:(1)随开机启动的,比如来电

通,A4自签名版;(2)不要你操作可以自动执行的,比如屏保程式;(3)进入

系统资料夹修改的,比如大部分后期汉化的软体等,再次安装汉化补丁

时就需要签名.

可靠的电子签名有什么作用?

依据《中华人民共和国电子签名法》第十四条:“可靠的电子签名与手写签名或者盖章具有同等的法律效力。”由此可见,只有使用“可靠的电子签名”,电子合同才有可能具有与纸质合同同等的法律效力,即书证效力。

C#工程档案签名有什么作用

主要是防止篡改破解。比如你写的程式包括1个exe和若干dll,exe花费了很多工作量,而且上面有你们公司的标识。现在来了个黑客,反编译了某个dll,发现很轻易就改动了里面某个dll,比如注册码的dll,导致绕开了验证码。再来个黑客,把干好事的dll改成了删掉所有磁碟上档案的功能,导致使用者把你公司拉进黑名单。

如果签了名,就可以保证exe只能呼叫你自己写的dll,他们篡改了你的dll,exe会报错,报找不到dll。

驱动程式签名有什么作用啊?

可以确认驱动程式与Windows无相容性问题(不过不代表没有签名的驱动就一定不相容Windows)

新年快乐

android签名工具干什么用的

给apk签名用的。但是你要有key,或者自己用eclipse生成一个。签名有一个很重要作用就是防止程式释出后被篡改签名一般用私钥,私钥签名以后会生成harsh值序列,公钥验证的时候(手机上),会根据档案内容再生成一次harsh序列,如果和apk中的harsh序列相同,说明apk释出后没有被篡改过

禁止驱动程式强制签名有什么作用

没有坏处。

驱动程式签名又叫做驱动程式的数字签名,它是由微软的Windows硬体装置质量实验室完成的。硬体开发商将自己的硬体装置和相应的驱动程式交给该实验室,由实验室对其进行测试,测试合格后实验室将在其驱动程式中新增数字签名。由于数字签名是由微软完成的。

使用有数字签名的驱动程式将的好处:

安全保障由于数字签名是针对整个驱动程式的所有软体进行的,所以在完成签名后再对驱动程式进行任何更改都会导致签名无效,这样就避免了在驱动程式中新增恶意程式码传播病毒等恶意程式的可能性。

三、运行android程序会默认生成签名吗

开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。

由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。

APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。

这样签名其实也是开发者的身份标识。交易中抵赖等事情发生时,签名可以防止抵赖的发生。

二、签名的注意事项

Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序。不管是模拟器还是真实手机。因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。

Android签名的数字证书不需要权威机构来认证,是开发者自己产生的数字证书,即所谓的自签名。数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,而不是用来决定最终用户可以安装哪些应用程序。

系统仅仅会在安装的时候测试签名证书的有效期,如果应用程序的签名是在安装之后才到期,那么应用程序仍然可以正常启用。

可以使用标准工具-Keytool and Jarsigner-生成密钥,来签名应用程序的.apk文件。

签名后需使用zipalign优化程序。

模拟器开发环境,开发时通过ADB接口上传的程序会先自动被签有Debug权限,然后才传递到模拟器。Eclipse菜单的Window-> Preferences-> Android–> Build下显示的是我们默认的调试用的签名数字证书。

正式发布一个Android应用时,必须使用一个合适的私钥生成的数字证书来给程序签名,不能使用ADT插件或者ANT工具生成的调试证书来发布。

三、签名方法:

1.使用Keytool和jarsigner工具签名(在jdk/bin目录下)

1.生成签名keystore:

确保电脑上安装了JDK,因为我们将使用JDK自带的创建和管理数字证书的工具Keytool。在命令行下输入如下命令:

keytool-genkey-v-keystore app.keystore-alias alias_name-keyalg RSA-validity 20000

-alias后面跟的是别名这里是alias_name

-keyalg是加密方式这里是RSA

-validity是有效期这里是20000

-keystore就是要生成的keystore的名称这里是app.keystore

然后按回车键

按回车后首先会提示你输入的密码:这个在签名时要用的,要记住

然后会再确认你的密码。

之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。

2.签名:

jarsigner-verbose-keystore app.keystore-signedjar app_signed.apk app.apk alias_name

-keystore: keystore的名称

-signedjar app_signed.apk:指定签名后生成的APK名称

app.apk:目标APK

然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。

3.查看签名:

jarsigner-verify app_signed.apk

查看是否签名,如果已经签名会打印"jar verified".

jarsigner-verify-verbose-certs app_signed.apk

查看签名详细信息。

4.通过zipalign工具进行优化apk(android自带的工具,./build/tools/zipalign)

zipalign-v 4 app_signed.apk androidres.apk对apk优化

zipalign-c-v 4 androidres.apk查看apk是否经过优化

2.使用eclipse ADT工具签名

在Package Explorer窗口,右键,选择Android Tools--->Export Signed Application Package然后按照提示一步一步,生成已签名的apk。通过eclipse也可以导出未签名的APK文件。

注:需要输入两次密码,第一次是私钥密码,第二次时私钥别名的密码。

3.eclipse在debug模式下自动签名(无须手动配置):

在debug模式下用eclipse的ADT为android签名,只要应用程序在eclipse下开发,系统就会自动给apk签名和优化。

在Eclipse中Windows> Preferences> Android> Build可以看到你keysotre的位置;

四、生成Android系统签名

上面讲的Android数字签名大多是与Android APK相关,做CTS认证时,需要用到Android系统签名。为什么需要给Android系统签个名才能进行CTS认证呢?原来我们通过make-j4编译出来的system.img使用的是test key,这种类型的key只适用于开发阶段,而且这种秘钥是公开的,谁都可以使用。当发布一款android产品,就需要另外给整个系统签个名,防止被别人盗用。这种系统就是release版本的Android系统。

1、生成加密key文件

要对Android系统进行签名,需要生成四种类型的key文件。

a)releasekey(testkey)

b)media

c)shared

d)platform

1)进入/android_src/development/tools目录。

2)使用make_key工具生成签名文件。需要分别生成 releasekey,media,shared,platform。

./make_key releasekey'/C=CN/ST=JiangSu/L=NanJing/O=Company/OU=Department/CN=Your Name/emailAddress=YourE-mailAddress'(系统将会提示输入针对各种key的密码,按照提示输入即可)

将会生成 releasekey.pk8和 releasekey.x509.pem文件,其中*.pk8是生成的私钥,而*.x509.pem是公钥,生成时两者是成对出现的.

注:如果出现 openssl: relocation error:openssl: symbol...尝试用 sudo执行命令,问题解决了!

2.回到根目录android_src。

命令执行的时候都最好在工程的根目录下执行,要不然脚本用到的某些文件找不到的。

3.编译系统

make-j4 PRODUCT-generic-user dist

其中generic表示生成的TARGET_PRODUCT类型为generic,

user代表TARGET_BUILD_VARIANT为user版本。

编译完成之后回在android_src/dist/目录内生成个product_generic-user_files开头的zip文件.这就是我们需要进行签名的文件系统.

4.开始签名

./build/tools/releasetools/sign_target_files_apks-d key_directory/ out/dist/product_modul-target_files.zip out/dist/signed_target_files.zip

通过sign_target_files_apks脚本,完成android系统的签名工作.

key_directory/表示key所在的目录。

out/dist/product_modul-target_files.zip源文件。

out/dist/signed_target_files.zip生成签名的目标文件。

可能会出现:

ERROR: no key specified for:

CalendarWidget.apk

Contacts_yellowpage.apk

SnsAppMain.apk

这表示,签名并没有成功,原因是由于有些apk程序已经签过名了或者找不到对应的key.这需要我们对apk设置过滤,不对上面的应用进行签名.方法如下:

通过参数"-e<apkname>="来过滤这些应用.

./build/tools/releasetools/sign_target_files_apks-d key_directory/-e CalendarWidget.apk=-e Contacts_yellowpage.apk=-e SnsAppMain.apk=-e out/dist/product_modul-target_files.zip out/dist/signed_target_files.zip

输入该命令时会提示输入key的密码,会出现四次密码输入提示。分别为四种类型的key的密码。

5.生成image文件

./build/tools/releasetools/img_from_target_files out/dist/signed-target-files.zip signed-img.zip

用img_from_target_files命令对生成的igned-target-files.zip文件进行打包,signed-img.zip包含了boot.img,userdate.img,system.img文件等.

6.通过fastboot下载signed-img.zip文件

fastboot update signed-img.zip

通过fastboot就可以把签了名的系统文件烧到手机上了。

OK,关于Android - 自动系统签名_android 系统签名和android 应用程序升级提示签名相同不能覆盖是为什么的内容到此结束了,希望对大家有所帮助。