1. 为什么要签名
1)
由于开发商可能通过使用相同的
2)
签名对于包中的每个文件进行处理,以此确保包中内容不被替换
3)
2.
1)
2)
3)
4)
5)
6)
3.
1)
a)
eclipse
b)
右键点击项目名,在菜单中选择
c)
右键点击项目名,在菜单中选择
2)
使用标准的
a)
$ keytool -genkey -keystore keyfile-keyalg RSA -validity 10000 -aliasyan
注:
b)
$ jarsigner -verbose -keystorekeyfile -signedjar signed.apk base.apkyan
注:
c)
$ jarsigner -verifymy_application.apk
d)
$ zipalign -v 4your_project_name-unaligned.apkyour_project_name.apk
3)
a)
在源码中编译一般都使用默认签名的,在某源码目录中用运行
$ mmshowcommands
Android
$ signapk publickey.x509[.pem]privatekey.pk8 input.jaroutput.jar
*.x509.pem
build/target/product/security
b)
Android
c)
openssl genrsa -3 -out testkey.pem2048
其中
openssl req -new -x509 -keytestkey.pem -out testkey.x509.pem -days 10000 -subj‘/C=US/ST=California/L=MountainView/O=Android/OU=Android/CN=Android/emailAddress=android@android.com
openssl pkcs8 -in testkey.pem -topk8-outform DER -out testkey.pk8-nocrypt
把的格式转换成
4.
1)
CERT.SF
MANIFEST.MF
xxx.SF
xxx.DSA
2)
development/tools/jarutils/src/com.anroid.jarutils/SignedJarBuilder.java
frameworks/base/services/java/com/android/server/PackageManagerService.java
frameworks/base/core/java/android/content/pm/PackageManager.java
frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
dalvik/libcore/security/src/main/java/java/security/Sign*
build/target/product/security/platform.*
build/tools/signapk/*
5.
一般在安装时提示出错:
1)
2)
3)
4)
5)
6)
6.
1)
在
7.
http://developer.android.com/guide/publishing/app-signing.html
http://www.pgcw.com.cn/Newsdetail.asp?id=257565010
http://www.eoeandroid.com/thread-23010-1-1.html
http://pepa.javaeye.com/blog/250991