osheng_release文件是什么_3.1.1.apk是什么?

android签名证书_生成Android APK包签名证书和重新签名APK文件_生活常识_飞来科技
android签名证书_生成Android APK包签名证书和重新签名APK文件
 发布时间: 17:00:50 来源:网络整理
你是否正在寻找关于android签名证书的内容?让我把最权威的东西奉献给你:
生成Android APK包签名证书和重新签名APK文件
分类:手机开发| 发布:camnprbubuol| 查看: | 发表时间:
当你用html+css+js完成一个应用的时候,怎么打包安装到手机上呢?也许你会用到这个在线打包build/apps,android签名证书,。你会看到,Android需要一个签名key文件,那么怎么得到这个文件呢? 生成AndroidAPK包签名证书1).在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2).运行下面的命令keytool &genkey &alias android123.keystore &keyalg RSA &validity 20000 &keystore android123.keystore/*解释:keytool工具是Java JDK自带的证书工具-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)-alias参数表示:证书有别名,-alias mine.keystore表示证书别名为:mine-keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取-validity 20000表示有效时间20000天( K3-keystore mine123.keystore表示要生成的证书名称为mine123*/输入完回车后屏幕显示:: a4 x: O. i5 I输入keystore密码:[密码不回显](一般建议使用20位,最好记下来后面还要用)再次输入新密码:[密码不回显]( o' ^$ _( F( K& I0您的名字与姓氏是什么?[Unknown]:lili# E# C/ Z! O) I; K6 r7 M-您的组织单位名称是什么?[Unknown]:snoopy' |3 v& I! _/ l您的组织名称是什么?[Unknown]:snoopy team您所在的城市或区域名称是什么?) L# V' |. E0 {[Unknown]:beijing您所在的州或省份名称是什么?[Unknown]:beijing该单位的两字母国家代码是什么[Unknown]:CN- m. ~1 W. i0CN=lili, U=snoopy, O=snoopy team, L=beijing, ST=beijing, C=CN正确吗?[否]:Y输入& mine.keystore&的主密码(如果和keystore密码相同,按回车):查看C:\Program Files\Java\jdk1.6.0_18\bin,生成了以后签名用的证书Key:mine123.keystore 删除之前的签名文件1).用解压工具解压缩apk文件(如:解压到D:\Sign\PhoneBook)压缩包内容解析:(1)META-INF目录:存放签名后的CERT和MANIFEST文件,用于识别软件的签名及版权。(2)res目录:存放各种Android原始资源,包括:动画anim、图片drawable、布局layout、menu菜单、xml等等(3)AndroidManifest.xml编码后的Android项目描述文件,包括了Android项目的名称、版本、权限、程序组件描述等等(4)classes.dex编译后Class被dx程序转换成Dalvik虚拟机的可执行字节码文件(5)qresources.arsc所有文本资源的编译产物,里面包含了各Location对应的字符串资源,android签名证书,android签名证书,android签名证书。2).找到下面的目录META-INF,删除目录META-INF3).将PhoneBook整个文件夹用zip工具,重新打包成zip压缩包,然后更改后缀为apk (注意:产生的PhoneBook.zip中没有二级根目录) 重新签名APK文件1).将证书复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign)2).在doc中切换到需要重新前面的apk文件的目录下cd D:\Sign3).运行下面的命令jarsigner &verbose &keystore mine123.keystore &signedjar PhoneBook_signed.apk PhoneBook.apk mine.keystore/*解释:* ^, {& k1 Z. M* P/ M+ K5 n5 hjarsigner是Java的签名工具# K8 ~% s# Y. @6 P-verbose参数表示:显示出签名详细信息-keystore表示使用当前目录中的mine123.keystore签名证书文件。-signedjarPhoneBook_signed.apk表示签名后生成的APK名称,% v! a7 e2 v4 W# ]; GPhoneBook.apk表示未签名的APK Android软件,mine.keystore表示别名*/查看D:\Sign目录,已生成重新签名后的PhoneBook_signed.apk文件via
标签:Android
原创文章如转载,请注明:转载自郑州网建-前端开发
本文链接:以上就是关于android签名证书的全部内容,相信你一定会非常满意。
本文来自,转载请注明本文网址:http://www.itfly.net/a/shenghuochangshi/article-74870-1.html
http://www.itfly.net/a/shenghuochangshi/article-74870-1.html
http://www.itfly.net/
http://www.itfly.net/a/shenghuochangshi/article-74870-1.html
android签名证书,当你用html+css+js完成一个应用的时候,怎么打包安装到手机上呢?也许你会用到这个在线打包https://build.phone
猜你喜欢:焦点阅读:
发表评论  请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论Android 判断是开发debug模式,还是发布release模式_百度知道2197人阅读
Android(28)
1.使用platform密钥对apk进行签名
1.1.进入&Android_Source_Path&/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
1.2.进入&Android_Source_Path&/build/tools/signapk找到SignApk.java,运行javac编译成SignApk.class
1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
至此,完成。
2. 对1的补充:
&Android_Source_Path&/build/target/product/security下有多对密钥,详细如下:
The following commands were used to generate the test key pairs:
& development/tools/make_key testkey& '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress='
& development/tools/make_key platform '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress='
& development/tools/make_key shared&& '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress='
& development/tools/make_key media&&& '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress='
The following standard test keys are currently included:
testkey -- a generic key for packages that do not otherwise specify a key.
platform -- a test key for packages that are part of the core platform.
shared -- a test key for things that are shared in the home/contacts process.
media -- a test key for packages that are part of the media/download system.
These test keys are used strictly in development, and should never be assumed
to convey any sort of validity.& When $BUILD_SECURE=true, the code should not
honor these keys in any context.
signing using the openssl commandline (for boot/system images)
--------------------------------------------------------------
1. convert pk8 format key to pem format
&& % openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem
2. create a signature using the pem format key
&& % openssl dgst -binary -sha1 -sign testkey.pem FILE & FILE.sig
extracting public keys for embedding
------------------------------------
it's a Java tool
but it generates C code
take a look at commands/recovery/Android.mk
you'll see it running $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar
3.对3的补充:
在运行第三步的命令前,请在你当前的工作目录下新建如下结构的文件夹:com.android.signapk,然后将第二步编译生成的SignApk放入该目录下。或者也可以将SignApk.java的package声明删除后再运行javac编译。
命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
不单可以对apk文件进行重签名,也可以对所有的zip文件进行重签名,包括ROM文件。
网上Android数字签名大多是与Android APK相关,而介绍Android系统签名的方法却不多。正巧前段时间帮别人做CTS 认证,需要用到给Android系统签名。
为什么需要给Android系统签个名才能进行CTS认证呢?原来我们通过make -j4编译出来的system.img使用的是test key,这种类型的key只适用于开发阶段,而且这种秘钥是公开的,谁都可以使用。当发布一款android产品,就需要另外给整个系统签个名,防止被别人盗用。这种系统就是release版本的Android系统。
下面就详细介绍下整个过程。
1、生成加密key文件
要对Android系统进行签名,需要生成四种类型的key文件。
a)releasekey
d)platform
我们就拿releasekey为例简单介绍下生成过程。
1)进入/android_src/development/tools目录。
/development/tools$ ls
apkcheck& etc1tool&&& hosttestlib& jdwpspy&&&&&& makedict&&&&&&&& mkstubs&&&&&&&
axl&&&&&& findunused& idegen&&&&&& line_endings& make_key&&& monkeyrunner&&& zoneinfo
2)使用make_key工具生成签名文件
development/tools$ sh make_key releasekey '/C=CN/ST=JiangSu/L=NanJing/O=Company/OU=Department/CN=YourName/emailAddress=YourE-mailAddress'
Enter password for 'releasekey' ( password will be visible): mypassword &&&
&------- 设置你的密码
creating platform.pk8 with password [mypassword]
Generating RSA private key, 2048 bit long modulus
...............+++
........................................................+++
e is 3 (0x3)
这里要顺便介绍下make_key的参数。第一个参数是要生成key的名字,第二个参数是关于你公司的信息。
key的名字很好理解,就是前面提到的4中类型的key,公司信息的参数比较多,它们的含义如下:
C&& ---&& Country Name (2 letter code)
ST& ---&& State or Province Name (full name)
L&& ---&& Locality Name (eg, city)
O&& ---&& Organization Name (eg, company)
OU& ---&& Organizational Unit Name (eg, section)
CN& ---&& Common Name (eg, your name or your server’s hostname)
emailAddress ---&& Contact email address
这样就生成了一组releasekey,另外3种类型的key的生成方法也基本一样。
生成后的结果如下:
/development/tools$ ls
makedict& media.pk8&&&&&& mkstubs&&&&&& platform.pk8&&&&&& releasekey.pk8&&&&&& shared.pk8&&&&&&
&make_key& media.x509.pem&&& platform.x509.pem& releasekey.x509.pem& shared.x509.pem
*.pk8是生成的私钥,而*.x509.pem是公钥,生成时两者是成对出现的.
2 、 把pk8和x509.pem文件拷贝到vendor/Modul/security/product_modul目录
/android_src/vendor/Modul/security/product_modul$ cp ../../../../development/tools/*.pk8 ./
/android_src/vendor/Modul/security/product_modul$ cp ../../../../development/tools/*.pem ./
这一部虽然不是必须的,但最好还是这样做下,由于牵涉到项目的原因,产品和产品型号就用Modul和product_modul代替了.
3 、 回到根目录android_src
/android_src/vendor/Modul/security/product_modul$ cd ../../../../
大家看后肯定觉得这一步很多余,根本没有必要单独提出来,但后来证明把这步提下还是很有必要的,因为第5步的操作必须要在根目录下执行,不然会出错.在这一点上我是吃了不少苦头.
4 、编译系统
/android_src$ make -j4 PRODUCT-product_modul-user dist
这个怎么跟平时的编译不一样,后面多了两个参数PRODUCT-product_modul-user 和 dist. 编译完成之后回在/android_src/dist/目录内生成个product_modul-target_files开头的zip文件.这就是我们需要进行签名的文件系统.
5 、开始签名
android_src$ ./build/tools/releasetools/sign_target_files_apks -d vendor/Modul/security/product_modul/ 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
& fbandroid-1.5.0.apk
& AnalogClockWidget.apk
& MessageWidget.apk
& NewsWidget.apk
上面的意思是使用sign_target_files_apks工具采用vendor/Modul/security/product_modul/下的key对product_modul-target_files.zip文件进行签名,并把签名结果放在out/dist/signed_target_files.zip里.
从上面的签名结果看,签名并没有成功,原因是由于有些apk程序已经签过名了或者找不到对应的key. 这也难不倒我们,我们可以通过设置过滤,不对上面的程序进行签名.方法如下:
通过参数&-e &apkname&=& 来过滤这些程序.
android_src$ ./build/tools/releasetools/sign_target_files_apks -d vendor/Modul/security/product_modul/& -e& CalendarWidget.apk=& -e & Contacts_yellowpage.apk= & -e& SnsAppMain.apk=& -e fbandroid-1.5.0.apk=& -e AnalogClockWidget.apk=& -e MessageWidget.apk=&
-e& NewsWidget.apk=& & out/dist/product_modul-target_files.zip& out/dist/signed_target_files.zip
Enter password for vendor/Modul/security/product_modul//media key&&&&&&&&&
&----- imput the password
Enter password for vendor/Modul/security/product_modul//platform key&&&&&&
&----- imput the password
Enter password for vendor/Modul/security/product_modul//releasekey key&&
&----- imput the password
Enter password for vendor/Modul/security/product_modul//shared key&&&&&&&&
&----- imput the password
rewriting RECOVERY/RAMDISK/default.prop:
& replace:& ro.build.tags=test-keys
&&&& with:& ro.build.tags=release-keys
NOT signing: CalendarWidget.apk
NOT signing: Contacts_yellowpage.apk
&&& signing: Mms.apk&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&& signing: SoundRecorder.apk&&&&&&&&&&&&&&
&&& signing: AccountAndSyncSettings.apk&&&&&&&&&
&&& signing: Camera.apk&&&&&&&&&&&&&&&&&&&&&&&&&&
.......................................................................
rewriting SYSTEM/build.prop:
& replace:& ro.build.tags=test-keys
&&&& with:& ro.build.tags=release-keys
& replace:& ro.build.description= test-keys
&&&& with:& ro.build.description= release-keys
& replace:& ro.build.fingerprint=...........................
&&&& with:& ro.build.fingerprint=.............................
&&& signing: framework-res.apk&&&&&&&&&&&&&&&&&&&&
这样就完成了android系统的签名工作.
6 、生成image文件
android_src$ ./build/tools/releasetools/img_from_target_files& out/dist/signed-target-files.zip& out/dist/signed-img.zip
creating boot.img...
creating recovery.img...
creating system.img...
creating userdata.img...
cleaning up...
使用img_from_target_files工具生成signed-img.zip文件.signed-img.zip文件包含了boot.img,userdate.img,system.img文件等.
7 、通过fastboot下载signed-img.zip文件
fastboot update signed-img.zip
通过fastboot就可以把签了名的系统文件下载到手机上了。
介绍android APK签名的方法有很多,下面这篇文章写的挺不错,有需要的可以参考一下.
自己的key:
. make_key releasekey
'/C=CN/ST=GuangDong/L=ShenZhen/O=Toltech/OU=SystemSoftware/CN=Engineer/emailAddress=s
. make_key platform
'/C=CN/ST=GuangDong/L=ShenZhen/O=Toltech/OU=SystemSoftware/CN=Engineer/emailAddress=s
. make_key testkey
'/C=CN/ST=GuangDong/L=ShenZhen/O=Toltech/OU=SystemSoftware/CN=Engineer/emailAddress=s
. make_key shared
'/C=CN/ST=GuangDong/L=ShenZhen/O=Toltech/OU=SystemSoftware/CN=Engineer/emailAddress=s
. make_key media
'/C=CN/ST=GuangDong/L=ShenZhen/O=Toltech/OU=SystemSoftware/CN=Engineer/emailAddress=s
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:185431次
积分:3052
积分:3052
排名:第8178名
原创:113篇
转载:23篇
评论:28条
(1)(1)(2)(5)(1)(1)(6)(5)(15)(1)(6)(10)(6)(12)(15)(29)(18)(2)(1)(1)laokaddk 的BLOG
用户名:laokaddk
文章数:983
评论数:103
访问量:2208150
注册日期:
阅读量:5863
阅读量:12276
阅读量:334754
阅读量:1039511
51CTO推荐博文
平时通过Eclipse生成在bin目录下的apk文件,都是debug版的,如何创建release版的软件呢? 其实还是挺简单的。 1. 通过java自带的keytool工具,创建release版的keystoreJava代码 &keytool -genkey -v -keystore keystore_name.keystore & -alias alias_name -keyalg RSA -validity 10000keystore_name.keystore:要创建的release版keystore的文件名 alias_name:别名?取个好记点的名字吧,后面还要用到的 -keyalg RSA:通过RSA算法生成 -validity 10000:有效期,单位是天 如果java环境配置正常,输入命令后会出现下列信息 Enter keystore password:(keystore的密码) Re-enter new password:(确认keystore的密码) What is your first and last name?
&[Unknown]: &(姓名,用自己喜欢的名字吧,不知道会显示在哪里) What is the name of your organizational unit?
&[Unknown]: &(组织单位) What is the name of your organization?
&[Unknown]: &(组织,不知道和上面那个有什么区别) What is the name of your City or Locality?
&[Unknown]: &(城市) What is the name of your State or Province?
&[Unknown]: &(州,省,县) What is the two-letter country code for this unit?
&[Unknown]: &CN Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
&[no]: &yes (确认输入的信息) Generating 1,024 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days
& & & &for: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN Enter key password for &alias_name&
& & & &(RETURN if same as keystore password):(alias的密码,如果和keytore密码一致,直接回车) Re-enter new password:(确认alias的密码) [Storing my-release-key.keystore] 2. 创建release版的apk文件在Eclipse中,右键要发布的项目,依次选择Android Tool -& Export Signed Application Package...然后就是step-by-step了,选择刚才生成的release版keystore,输入密码,选择alias,输入alias密码,生成release版的apk。 啊,世界清静了~~~ 最后就是安装了。 由于使用了新的签名,必须先卸载原来安装的程序才可以安装。
了这篇文章
类别:┆阅读(0)┆评论(0)我会告诉你们我就要sheng了吗?O(∩_∩)O哈哈~_全职高手吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:516,018贴子:
我会告诉你们我就要sheng了吗?O(∩_∩)O哈哈~
1楼献给最爱的玛茵
今晚破功了废了那么大劲...
这是我们的一点点装备,...
其实这么晚大家都不容易...
谁来偷罗sheng
@想会员love 你说怎么办
做人不要太玻璃心,不要...
@恶毒家姐 你快sheng了!
昨天掉级了你们有什么想...
全职高手,文学经典,文轩网品质保证,全网低价!满48元包邮!全国三大仓储发货,送货到家,免费退换货,便捷体验,放心选购!提供机打卷式票据.
酱油一拖。六级在手
我也快了吧。。。。。
恭喜恭喜O(∩_∩)O
孩子他爸是男的女的?
淘宝网上购物,百万商家,25亿高人气商品热卖,淘你满意!支付安全,交易有保障!网购上淘宝,流行前沿精品齐聚,全网底价,尽在淘宝网.淘宝网,淘你喜欢!
我也努力一下,差三点就升阶了~~够字数了吗?
是什么种族的?
楼主你坏了传统,看看你的称号~~~~~鸭呢?
生了?儿子还是女儿?
百度小说人气榜
贴吧热议榜
使用签名档&&
保存至快速回贴

我要回帖

更多关于 release文件是什么 的文章

 

随机推荐