赞
踩
Android应用程序可以使用各种编程语言和开发程序来创建。这些Android应用程序通过各种渠道发布,并安装在Android设备上。
为了构建一个完整的Andrioid应用程序,需要一个签名过程来标识应用程序创建者。
通常,开发程序会自动执行此操作,因此不需要额外的工作。但是,如果您将LIAPP等安全服务应用于应用程序,则应用程序包将更改,并且您必须手动对其进行签名。
您可以使用apksigner或jarsigner对Android应用程序进行签名。Apksigner是24.0.3及更高版本的androidsdk构建工具提供的工具,只能在apk文件上签名。Jarsigner是Java中包含的一个工具,可以对apk和aab(Android应用程序包)文件进行签名。
在这篇文章中,我们将具体介绍如何与jarsigner签名。
Jarsigner只需在Windows中的cmd或Mac中的terminal等程序上以下面的形式输入命令行即可使用。
[APK]jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore“keystore_PATH”“APP_FILE_PATH”“别名_NAME”
[AAB]jarsigner-verbose-sigalg SHA256withRSA-digestalg SHA-256-keystore“keystore_PATH”“APP_FILE_PATH”“别名_NAME”
这里我们需要关注的是用双引号(“)标记的部分。
输入密钥库的路径
通常,它的扩展名是.keystore或.jks。
How to check the keystore in Android StudioBuild Menu => Generate Signed Bundle / APK => Select Android Aab Bundle or APK => Check Key store path
How to check keystore from UnityFile Menu => Build Settings => Player Settings => Publishing Settings => Check the Path=> Check the location of a file with the identified name
输入要签名的应用程序文件的路径。
输入创建密钥时创建的别名。
How to check Alias from Android StudioBuild menu => Select Generate Signed Bundle / APK => Select Android Aab Bundle or APK => Check Key alias
How to check Alias from UnityFile Menu => Build Settings => Player Settings => Publishing Settings => Check Alias
执行命令后,将出现一条输入密钥库密码的消息。
-输入密钥库的密码:
当输入密钥库密码时,密码字符不会显示在屏幕上,而是实际输入的。如果输入了不正确的密码,将显示如下错误消息。
-jarsigner错误:java.lang.RuntimeException:密钥库加载:密钥库被篡改或密码不正确
一旦输入了正确的密钥库密码,您将进入下一步。如果密钥库密码和密钥密码相同,则将立即进行签名。如果密钥库密码和密钥密码不同,系统将提示您输入密钥密码。
-输入别名的密钥密码:
输入正确的密钥密码后,将继续签名,签名完成后将显示“jar signed.”。
在命令行中,-storepass和-keypass选项允许您预先指定和执行密码。如果使用此选项,则不会显示输入密码的消息;相反,密码将自动输入。
jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore-storepass[keystore_password]-keypass[Key_password]“keystore_PATH”“APP_FILE_PATH”“别名_NAME”
jarsigner-verbose-sigalg SHA256withRSA-digestalg SHA-256-keystore-storepass[keystore_password]-keypass[Key_password]“keystore_PATH”“APP_FILE_PATH”“别名_NAME”
有时,虽然输入了有效的密码,但仍会收到错误消息。在这种情况下,您应该首先检查是否正确输入了密钥库或别名信息。如果文件名和路径包含空格或特殊字符,也可能发生错误。
使用jarsigner签名的APK文件需要使用zipaign进行进一步排序。没有zipalign的安装和执行没有问题,但是在App Market注册发布时可能会失败。对于AAB文件,没有zipalign的官方指南,因此不需要它。
您可以在下面的表单中为zipaign运行命令行。
zipaign-f-v 4“需要zipaign的apk文件路径”“zipaign之后将保存的apk文件路径”。
使用脚本文件签名(&Z)
到目前为止,我们已经学会了如何手动签名和zipaling。下面的脚本文件是一个示例脚本,它将使签名和zipalign更容易。
MAC脚本
请使用示例脚本查看下面的详细信息。在记事本或文本编辑器中打开下载的文件,根据以下内容进行修改,然后保存文件。
KeyStorePath=" Keystore path "
ALIAS_NAME=“alias name”
STORE_PASS=" Keystore Password"
KEY_PASS=“Key password”
ZIP_ALIGN=“zipalign File Path”
zipalign文件位于androidsdk安装路径下的buildtools中。如果您想在不保存的情况下输入自己的密码,则需要删除与-storepass和-keypass相关的选项。
Windows用户可以将要签名的应用程序文件拖到LIAPP_sign_窗口。bat文件,它将立即运行。MAC用户可以通过按顺序拖动脚本文件和应用程序文件,或输入如下所示的路径来运行终端程序。
正常运行时,显示\bs“signing:path/file”等内容,完成后显示“jar signed.”。如果“jar signed.”没有出现并且出现错误,请检查相关信息并关闭窗口。之后,对错误采取措施并重新运行它。如果脚本正常运行没有问题,将显示“signing:path/file”等内容,完成后还会显示“jar signed.”。如果出现错误而不是“jar signed.”,请检查提供的相关信息并关闭窗口。然后,对错误采取措施并再次运行它。如果文件名和路径包含空格或特殊字符,也可能发生错误。
APK文件必须先签名,然后再进行zipaling。如果消息“jar signed.”在签名过程中已被确认没有任何问题,请按任意键继续执行下一个zipaign步骤。如果zipalign成功完成,将显示一条消息“Verification successful”(验证成功)。zipaign完成的文件保存时,文件名后面有\u zipaigned。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。