您现在的位置是: 首页 > 幸福句子 幸福句子

apk签名生成工具

ysladmin 2024-06-12 人已围观

简介apk签名生成工具       下面将有我来为大家聊一聊apk签名生成工具的问题,希望这个问题可以为您解答您的疑问,关于apk签名生成工具的问题我们就开始来说说。1.Android开发对apk文件进

apk签名生成工具

       下面将有我来为大家聊一聊apk签名生成工具的问题,希望这个问题可以为您解答您的疑问,关于apk签名生成工具的问题我们就开始来说说。

1.Android开发对apk文件进行签名

2.如何对Android的APP进行签名

3.如何为apk/zip文件签名

4.怎么使用命令对APK包进行签名

5.IntelliJ IDEA开发Android时如何导出签名APK~,求大侠赐教~

6.如何利用Eclipse工具打包签名AndroidApk文件

apk签名生成工具

Android开发对apk文件进行签名

       对apk签名的步骤(适用于找回apk,对空包进行签名)

        1.复制java的jdk,bin目录的绝对路径(如果是默认安装应该和我的路径差不多)C:\Program Files\Java\jdk1.8.0_111\bin

        2.进入cmd窗口,进入bin目录(如果是新手,输入cd C:\Program Files\Java\jdk1.8.0_111\bin)

        输入命令 ? jarsigner -verbose -keystore d:\project\360Wallpaper.keystore -signedjar d:\qihusign.apk d:\Qihuunsign.apk QIHU360

        将签名修改成自己签名的路径 ,生成的apk文件的名字路径修改一下,再输入需要签名的apk文件路径,最后输入自己签名的别名就可以

       (新手,欢迎指正)

如何对Android的APP进行签名

       在对接支付宝支付和微信支付时,需要获取应用签名

        上次apk到下面这个网站自动生成

       /androidkaifa/173.html

       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的位置

怎么使用命令对APK包进行签名

        我们在接触文件中会遇到要为apk/zip文件签名的情况,而很多人不知道如何签名,在这里我给大家分享个简易版的为apk/zip文件签名的方法。

工具/材料

        电脑

        rom制作工具

        apk/zip文件

01

        我们要把需要签名的zip/apk文件下载好放在电脑里相对应位置。

02

        然后,打开工具,把我们需要签名的文件添加进去,点击开始签名。

03

        然后等待几秒签名成功的话就可以了,签名成功后会自动打开文件所在目录。

IntelliJ IDEA开发Android时如何导出签名APK~,求大侠赐教~

       上面命令中各选项说明如下。

       -genkeypair:指定生成数字证书

       -alias:指定生成数字证书的别名

       -keyalg:指定生成数字证书的算法,使用RSA算法

       -validity:指定生成的数字证书的有效期

       -keystore:指定所生成的数字证书的储存路径

       输入上面的命令后按回车,会出现以交互方式让用户输入数字证书keystore的密码/作者/公司等详细信息。

       备注:这一步时生成属于你们公司/你的数字证书,这一步只需要做一次即可。一旦数字证书创建成功之后,只要在该证书有效期内,可以一直重复使用该证书。

       2.生成未签名的APK安装包。在Eclipse中右击Android项目,在弹出的菜单中找到“Android Tools -->Export Unsigned Application Package...“菜单项,Eclipse弹出一个保存文件的对话框,当用户选择储存文件后单击”Finish”按钮即可生成一个未签名的APK安装包。

       备注:这一步是生成一个未签名的APK按转包,如果已经有未签名的安装包,那么该步骤可以跳过

       3.使用jarsigner命令对未签名的APK安装包进行签名。JDK的安装目录下的bin子目录下提供了jarsigner.exe工具进行签名。在命令行窗口输入如下命令:

如何利用Eclipse工具打包签名AndroidApk文件

       1、打开你的IDEA在导航栏中找到Build选择Generate Signed APK如下图

       2、选取后出现下图,选择好你的keystore即可,如果没有可以创建一个新的

如何给Android应用程序签名

       利用Eclipse工具打包签名AndroidApk文件的方法:

       1、启动eclipse,创建好Android工程

       2、选中需要打包签名的android工程,右击选择Android tools-》Export Signed Application Package..

       3、进入签名打包管理窗口,第一步确认工程名称,点击进入下一步

       4、选择keystore(即:签名文件),可以使用已定义好的keystore或新建一个;

       新建keystore笔者将会在另一篇经验中详细介绍,这里暂时使用已定义好的签名文件

       5、选择keystore,首先进入存放目录选中keystore文件,输入密码,并进入下一步;

       关于密码:eclipse adt 安装时,默认自带debug.keystore,它的密码是:android;

       如果是使用自定义的签名文件,那需要输入对应定义的密码即可

       6、选择一个key来进行加密,密码同上;

       7、选择APK存放目录,点击finish,eclipse将自定进行打包,打包结束,将在之前设定的存放目录找到打包签名的APK

Android Studio 之签名

       不管是模拟器还是真实手机。因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。·所有的程序都必须签名,没有被签名的程序,系统将不能安装。·可使用自签署证书签署应用程序,无须授权凭证。·系统仅仅会在安装的时候测试签名证书的有效期,如果应用程序的签名是在安装之后才到期,那么应用程序仍然可以正常启用。·可以使用标准工具-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 开始签名:

        通过签名可以确保数据来源的可靠性和数据的不可篡改性

        对 Apk 进行签名,也就是在 Apk 中写入一个指纹,写入指纹后,Apk 中有任何修改,都会导致这个指纹无效,Android 系统在安装 Apk 进行签名校验时就会不通过,进而无法安装该 Apk

        如上图:

        通常的签名验签过程中,接收方收到消息后,会先向 CA 机构验证证书的合法性,再进行签名校验。但 Apk 的证书通常由开发者自己制作,没有向 CA 机构申请,Android 系统在安装 Apk 时也并没有校验证书本身的合法性,只是从证书中提取公钥和加密算法,因此,如果对第三方 Apk 重新签名,也能安装到没有安装过这个 Apk 的系统中

        keystore 文件包含私钥、公钥和数字证书,分为很多种,Android 使用的是 Java 标准 keystore 格式 JKS(Java Key Storage)

        Android App Bundle:用于通过 Google Play 发布的应用,需要升级到AS 3.2 以上版本才支持App Bundle 格式;

        APK:用于创建可部署到设备上的签名 APK

        点击 Finish 就会生成签名文件与签名后的 Apk

        当我们需要升级 Apk 版本的时候,需要再次对 Apk 文件进行签名,可以通过配置 build.gradle 让其自动生成签名后的 Apk

        如果你的项目是开源的,需要把你的签名信息写在 local.properties 中,然后在 .gitignore 配置文件中加入 local.properties ,这样 local.properties 就不会提交到开源项目中,签名信息也就不会被人获取

        local.properties:

        app/build.gradle:

        有时候我们的 apk 中某些功能需要系统签名,例如静默安装。测试系统签名的 apk,需要 root 权限,而带 Google APIs 的模拟器不能 root,因此要注意不能选择带 Google APIs 的模拟器

        下面执行的操作都是在 Linux 中,如果 apk 是 window 中生成的,需要拷贝到 linux 操作,再将生成的系统签名过得 apk 再拷贝到 window,比较麻烦,可以考虑后面的自动系统签名,还是需要在 linux 操作一次,不过之后就可以只在 window 操作了

        这两个文件在目录 aosp/build/target/product/security 下,如下图

        在目录 aosp/prebuilts/sdk/tools/lib 下,如下图

        将前面获取的 platform.pk8 、 platform.x509.pem 和 signapk.jar 文件放到需要签名的 apk 同一个目录,执行以下命令

        如果出现上面的错误:Failed to load any of the given libraries: [conscrypt_openjdk_jni-linux-x86_64, conscrypt_openjdk_jni-linux-x86_64-fedora, conscrypt_openjdk_jni]

        解决方法:

        到目录 aosp/prebuilts/sdk/tools/linux/lib64 下,复制 libconscrypt_openjdk_jni.so 文件到需要签名 apk 的同一个目录,并将命令改为

        自动进行系统签名的原理是:先生成一个 system.jks 文件,使用 keytool-importkeypair 对 system.jks 文件进行系统签名,再 build.gradle 和 local.properties 进行配置,直接使用带有系统签名的 system.jks 对 apk 进行签名,这样编译生成的apk文件就自带系统签名了

        按照前面的方法,生成一个 system.jks 文件,此时是在 window 系统中操作的

        进入 keytool-importkeypair 目录,将 system.jks、platform.pk8、platform.x509.pem 文件拷贝进来,拷贝之后的目录结构为

        使用 linux 中修改过的带有系统签名的 system.jks 文件将 window 中最开始生成的 system.jks 覆盖掉,再像前面的自动签名部分一样,修改 build.gradle 和 local.properties 的配置,之后生成的 apk 就是系统签名过的了

        测试方法是,在 AndroidManifest.xml 中添加 android:sharedUserId="android.uid.system" 后安装到非 Google APIs 的模拟器上 , Google APIs 的模拟器不能 root,无法安装

        会发现只有使用 system.jks 文件签名后才能安装,否则安装失败,会报以下的错误:

       好了,今天关于“apk签名生成工具”的话题就讲到这里了。希望大家能够对“apk签名生成工具”有更深入的认识,并从我的回答中得到一些启示。如果您有任何问题或需要进一步的信息,请随时告诉我。