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

android空包签名

发布时间: 2022-10-16 06:28:39

Ⅰ 如何对Android的APP进行签名

1
下载java SE Development Kit (JDK)
在网络上搜索jdk即可搜索到,然后下载安装(安装到c盘,制作签名时好找到我们需要的文件),记住你电脑的系统,不要下载错了,否则无法安装。

2
安装Java SE Development Kit (JDK)完成后点击 开始 在搜索程序和文件中输入cmd

3
点击程序cmd.exe 打开cmd管理员窗口

4
电脑进入Android
【在打开的管理员窗口输入cd+空格键+.android+回车键】

5
使用命令 keytool -list -v -keystore debug.keystore【将命令keytool -list -v -keystore debug.keystore复制到cmd管理员窗口中+回车键】

6
进入到目录bin,并复制地址

7
将复制的地址粘贴到cmd管理员窗口中且在前面输入cd+空格键

8
回车

9
再次将命令keytool -list -v -keystore debug.keystore粘贴到cmd管理员窗口中并回车

10
此时会出现上述错误,接下来执行命令keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 并回车
输入密匙库口令【密匙口令 (自己设置) 即为密码,最好设成数字,记住就行】+回车建
后面都是自己输入后以回车键结束,最后 是否输入正确输入 y。
一直回车。。。。就可以生成签名证书

11
现在进入到目录bin就可以找到debug.keystore这个文件了。
好了,这个文件就是用来对Android的APP进行签名的签名证书。
个人觉得应该把这个文件上传到你自己的网盘中保存好,因为后面对APP进行签名时要用到同一个签名证书,签名证书不同会导致签名后的APP无法再手机上运行。

12
下载360签名工具(支持linux&MAC下批量签名)。
360移动开发平台有,不过可能需要注册才能下载(有点麻烦),可以找我要

13
下载解压后进入→360签名工具(支持Linux&MAC下批量签名)→windows签名工具→360Signer.exe(双击)

14
签名成功!!
此时将生成一个【编绳_signed_Aligned.apk】后缀为_signed_Aligned的apk文件,没有必要时尽量不要修改后缀

Ⅱ 如何对Android的APP进行签名

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

Ⅲ android 怎么把签名打到空包中

先生成签名文件

然后如果是编译器可以直接选择,没有就cmd进入代码打包,不会命令网络,先要装java环境。

Ⅳ 如何对android的apk签名进行验证

方法/步骤

1
菜单菜单键,键入cmd命令进入命令模式。如图:

2
命令模式中,进入JDK的安装目录的Bin子目录下。(我的JDK安装在E盘,所以先进入E盘,然后再进入JDK安装目录)

3
通过keytool.exe 工具来创建keystore库.
输入以下命令:
keytool -genkeypair -alias - mydemo.keystore -keyalg RSA -validity 100
-keystore mydemo.keystore
命令说明如下:
-genkeypair :指定生成数字证实
-alias :指定生成数字证书的别名
-keyalg:指定生成数字证书的算法 这里如RSA算法
-validity:指定生成数字证书的有效期
-keystore :指定生成数字证书的存储路径。 (这里默认在keytool.exe 目录下)
回车 出现如图交互式界面 输入数字证书费密码 作者 公司等详细信息
如图 :

4
完成后,keystore库创建完成,你可以在指定的保存目录下找到 如图:

5
使用jarsigner命令对未签名的APK安装包进行签名。使用JDK安装目录下bin子目录下的jarsigner.exe工具来进行签名。
然后把未签名的apk也拷贝到此目录。如图:

6
使用如下命令进行签名:
jarsigner -verbose -keystore mydemo.keystore -signedjar
-Note.apk Notes.apk mydemo.keystore
以上命令的说明:
-verbose:指定生成详细输出
-keystore:指定数字证书存储路径
-signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名
注意有效期哦。

7
签名后的apk 如图:

8
sdk目录下tool目录下使用zipalign.exe工具优化APK安装包。
将已经签名的apk包放在zipalign.exe同目录下 如图:

9
使用如下命令:
zipalign -f -v 4 -Note.apk -Notes.apk
命令说明:
-f :指定强制覆盖已有文件
-v 指定生成详细输出
4:指定档案整理基于的字节数 一般是4 也有基于32位的。
-Note.apk :优化前APK
-Notes.apk 优化后的APK

10
运行命令后,在该目录下生成一个-Notes.apk,这个就是优化过的APK安装包
,该安装包可以对外发布。
如图:
如果能对你有帮助,希望你能收藏和支持。

http://jingyan..com/article/3c48dd3491d91fe10be358f4.html

Ⅳ android studio怎么签名打包

1首先打开Android Studio选择Build -> Generate Signed APK... 2弹出对话窗口,如果没有key,就新建一个key。 3新建一个key,可根据自己需要填写相关项. 4填写我们创建的key的 alias和密码。 5单击next下一步,Finish完成。 6稍等一会儿会出现下述提示,说明应用已经打包签名成功了。

Ⅵ android studio怎么签名打包

参考连接:http://www.cnblogs.com/gao-chun/p/4891275.html
1、方式1:通过Android Studio进行签名:
选中app这个mole,选择菜单栏"Build-Generate signed apk":

弹出如下界面:

上图中,如果你是第一次使用签名,就单击红框部分创建一个新的签名;如果你之前有过签名的文件,就选择蓝框部分进行导入即可。那我就先选择红框部分吧:

上图中,点击"finish"之后,可以看到Android Studio的最下方显示:Gradle正在执行assembleRelease这样一个任务,如下图所示:

生成签名好的apk之后,会弹出提示:

Ⅶ 如何产生android 打包签名文件

默认Android Studio签名生成apk文件或不签名的apk文件 点击“Build——>Build APK”生成默认签名和默认不签名的两种文件 点击“Build——>General Signed apk”指定自定义签名文件后,生成发布版本的签名文件,如果没有签名文件,先创建一个

Ⅷ android studio怎么使用Build工具进行签名打包

1、打开android studio软件,选择菜单栏 Build ---> Generate Signed APK 打开签名提示框。 2、在签名对话框中输入签名的别名、密码、地区等签名信息。填写完并点击保存。 3、验证信息:选择我们的签名文件并输入设置的密码进行验证。 4、设置打包路径:设置完导出打包路径还有Build Type类型 点击finish按钮。 5、查看签名打包文件:等待30秒签名完成,并弹出一个提示框查看文件。即完成打包。

Ⅸ 安卓刷机包签名失败怎么处理

Android签名失败由以下原因造成:
1. 手机已经安装了一个包名相同的应用
2. 当前手机操作系统不满足程序包要求的系统版本
3. 手机存储空间不足
4. 安装包已经损坏

解决办法:
1. 查看本机是否有安装,如果有直接卸载掉
2. 查看一下程序包的版本,与当前手机是否一致
3. 卸载手机一些无用或者很少用的应用,释放手机存储空间
4. 重新下载安装包

Ⅹ android 系统签名

也有提到怎么单独给一个apk签名,这里补充一下android的签名权限控制机制。

android的标准签名key有:

     testkey

     media

    latform

    hared

    以上的四种,可以在源码的/build/target/proct/security里面看到对应的密钥,其中shared.pk8代表私钥,shared.x509.pem公钥,一定是成对出现的。

    其中testkey是作为android编译的时候默认的签名key,如果系统中的apk的android.mk中没有设置LOCAL_CERTIFICATE的值,就默认使用testkey。

   而如果设置成:

   LOCAL_CERTIFICATE := platform

    就代表使用platform来签名,这样的话这个apk就拥有了和system相同的签名,因为系统级别的签名也是使用的platform来签名,此时使用android:sharedUserId="android.uid.system"才有用!

     在/build/target/proct/security目录下有个README,里面有说怎么制作这些key以及使用问题(android4.2):

     从上面可以看出来在源码下的/development/tools目录下有个make_key的脚本,通过传入两个参数就可以生成一对签名用的key。

    其中第一个为key的名字,一般都默认成android本身有的,因为很多地方都默认使用了这些名字,我们自定义的话只需要对第二个参数动手脚,定义如下:

    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 addre

    另外在使用上面的make_key脚本生成key的过程中会提示输入password,我的处理是不输入,直接enter,不要密码!后面解释,用自定义的key替换/security下面的。

    可以看到android源码里面的key使用的第二个参数就是上面README里面的,是公开的,所以要release版本的系统的话,肯定要有自己的签名key才能起到一个安全控制作用。

    在上面提到如果apk中的编译选项LOCAL_CERTIFICATE没有设置的话,就会使用默认的testkey作为签名key,我们可以修改成自己想要的key,按照上面的步骤制作一个releasekey,修改android配置在/build/core/config.mk中定义变量:

在主makefile文件里面:

ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/proct/security/releasekey)

  BUILD_VERSION_TAGS += release-key

这样的话默认的所有签名将会使用releasekey。

修改完之后就要编译了,如果上面的这些key在制作的时候输入了password就会出现如下错误:

我在网上找到了合理的解释:

其实会出现这个错误的最根本的原因是多线程的问题。在编译的时候为了加速一般都会执行make -jxxx,这样本来需要手动输入密码的时候,由于其它线程的运行,就会导致影响当前的输入终端,所以就会导致密码无法输入的情况!

再编译完成之后也可以在build.prop中查看到变量:

这样处理了之后编译出来的都是签名过的了,系统才算是release版本

我发现我这样处理之后,整个系统的算是全部按照我的要求签名了。

网上看到还有另外的签名release办法,但是应该是针对另外的版本的,借用学习一下:

make -j4 PRODUCT-proct_mol-user dist

这个怎么跟平时的编译不一样,后面多了两个参数PRODUCT-proct_mol-user 和 dist. 编译完成之后回在源码/out/dist/目录内生成个proct_mol-target_files开头的zip文件.这就是我们需要进行签名的文件系统.

我的proct_mol 是full_gotechcn,后面加“-user”代表的是最终用户版本,关于这个命名以及proct_mol等可参考http://blog.csdn.net/jscese/article/details/23931159

编译出需要签名的zip压缩包之后,就是利用/security下面的准备的key进行签名了:

./build/tools/releasetools/sign_target_files_apks -d /build/target/proct/security  out/dist/full_gotechcn-target_files.zip   out/dist/signed_target_files.zi

签名目标文件 输出成signed_target_files.zi

如果出现某些apk出错,可以通过在full_gotechcn-target_files.zip前面加参数"-e =" 来过滤这些apk.

然后再通过image的脚本生成imag的zip文件,这种方式不适用与我目前的工程源码,没有做过多验证!

Android签名机制可划分为两部分:(1)ROM签名机制;(2)第三方APK签名机制。

Android APK实际上是一个jar包,而jar包又是一个zip包。APK包的签名实际上使用的是jar包的签名机制:在zip中添加一个META的子目录,其中存放签名信息;而签名方法是为zip包中的每个文件计算其HASH值,得到签名文件(*.sf),然后对签名文件(.sf)进行签名并把签名保存在签名块文件(*.dsa)中。

在编译Android源码生成ROM的过程中,会使用build/target/proct/security目录中的4个key(media, platform, shared, testkey)来对apk进行签名。其中,*.pk8是二进制形式(DER)的私钥,*.x509.pem是对应的X509公钥证书(BASE64编码)。build/target/proct/security目录中的这几个默认key是没有密码保护的,只能用于debug版本的ROM。

要生成Release版本的ROM,可先生成TargetFiles,再使用带密码的key对TargetFiles重新签名,最后由重签名的TargetFiles来生成最终的ROM。

可以使用Android源码树中自带的工具“development/tools/make_key”来生成带密码的RSA公私钥对(实际上是通过openssl来生成的): $ development/tools/make_key media ‘/C=CN/ST=Sichuan/L=Cheng/O=MyOrg/OU=MyDepartment/CN=MyName’ 上面的命令将生成一个二进制形式(DER)的私钥文件“media.pk8”和一个对应的X509公钥证书文件“media.x509.pem”。其中,/C表示“Country Code”,/ST表示“State or Province”,/L表示“City or Locality”,/O表示“Organization”,/OU表示“Organizational Unit”,/CN表示“Name”。前面的命令生成的RSA公钥的e值为3,可以修改development/tools/make_key脚本来使用F4 (0×10001)作为e值(openssl genrsa的-3参数改为-f4)。

也可以使用JDK中的keytool来生成公私钥对,第三方APK签名一般都是通过keytool来生成公私钥对的。

可以使用openssl x509命令来查看公钥证书的详细信息: $ openssl x509 -in media.x509.pem -text -noout or, $ openssl x509 -in media.x509.pem -inform PEM -text -noout

还可以使用JDK中的keytool来查看公钥证书内容,但其输出内容没有openssl x509全面: $ keytool -printcert -v -file media.x509.pem

有了key之后,可以使用工具“build/tools/releasetools/sign_target_files”来对TargetFiles重新签名: $ build/tools/releasetools/sign_target_files_apks -d new_keys_dir -o target_files.zip target_files_resigned.zip 其中,new_keys_dir目录中需要有四个key(media, platform, shared, releasekey)。注意:这里的releasekey将代替默认的testkey(请参考build/tools/releasetools/sign_target_files脚本实现),也就是说,如果某个apk的Android.mk文件中的LOCAL_CERTIFICATE为testkey,那么在生成TargetFiles时是使用的build/target/proct/security/testkey来签名的,这里重新签名时将使用new_keys_dir/releasekey来签名。

uild/tools/releasetools/sign_target_files_apks是通过host/linux-x86/framework/signapk.jar来完成签名的。也可以直接使用host/linux-x86/framework/signapk.jar来对某个apk进行签名: $ java -jar signapk [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar 其中,”-w”表示还对整个apk包(zip包)进行签名,并把签名放在zip包的comment中。

对于第三方应用开发者而言,对APK签名相对要简单得多。第三方应用开发一般采用JDK中的keytool和jarsigner来完成签名密钥的管理和APK的签名。

使用keytool来生成存储有公私钥对的keystore: $ keytool -genkey -v -keystore my-release-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000

查看生成的密钥信息: $ keytool -list -keystore my-release-key.keystore -alias mykey -v or, $ keytool -list -keystore my-release-key.keystore -alias mykey -rfc (注:获取Base64格式的公钥证书,RFC 1421)

导出公钥证书: $ keytool -export -keystore mystore -alias mykey -file my.der (注:二进制格式公钥证书,DER) $ keytool -export -keystore mystore -alias mykey -file my.pem -rfc (注:Base64格式公钥证书,PEM)

对APK进行签名: $ jarsigner -verbose -keystore my-release-key.keystore my_application.apk mykey

验证签名: $ jarsigner -verify -verbose -certs my_application.apk

在进行Android二次开发时,有时需要把build/target/proct/security下面的公私钥对转换为keystore的形式,可以参考这篇文章:把Android源码中的密码对转换为keystore的方法。

热点内容
粉红视频脚本 发布:2025-03-11 00:39:56 浏览:444
服务器名称或ip从哪里看 发布:2025-03-11 00:35:44 浏览:491
日本细菌战数据库 发布:2025-03-11 00:29:34 浏览:423
钓鱼直播用什么配置 发布:2025-03-11 00:28:39 浏览:415
高配置服务器搭建虚拟机集群 发布:2025-03-11 00:27:18 浏览:369
在线印刷源码 发布:2025-03-11 00:25:06 浏览:718
python矩阵转置函数 发布:2025-03-11 00:22:53 浏览:547
java缓存策略 发布:2025-03-11 00:18:26 浏览:897
cc怎么上传视频 发布:2025-03-11 00:17:51 浏览:805
安卓系统怎么设置伴奏 发布:2025-03-11 00:16:13 浏览:183