Mac下apk包重签名(命令行签名)
- 格式:docx
- 大小:270.61 KB
- 文档页数:1


Apk反编译及签名工具使用1) APKtool软件包及签名toolAPKtool软件包有2个程序组成:apktool.jar 和aapt.exe另外提供一个批处理文件:apktool.bat,其内容为:java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9运行apktools.jar需要java环境(1.6.0版本以上)。
apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。
signapk.jar 用于签名。
2) APK文件的解包下面以解开Contacts.apk为例。
首先把Contacts.apk Copy到当前工作目录下(例:Test)。
在DOS下打入命令apktool d Contacts.apk ABC这里“d”表示要解码。
Contacts.apk是要解包的APK文件。
ABC是子目录名。
所有解包的文件都会放在这个子目录内。
3) APK文件的打包在DOS下打入命令apktool b ABC New-Contacts.apk这里“b”表示要打包ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。
New-Contacts.apk是打包后产生的新的APK文件。
4) 签名,不签名安装时可能提示如下错误:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] --- 没有签名,可以尝试test证书;签名方法见下面。
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] ---- 已存在签名,但使用证书不对,可以尝试使用其他证书签名。
签名方法:到目录android\build\target\product\security找到证书文件,这里可能会有几种证书,test/shared/platform/media,各种证书使用场景不同,可以自己google一下,因为签名很快而且可任意后续更改签名,可以自己尝试各种不同签名;这个命令行是使用test证书的例子:java -jar signapk.jar testkey.x509.pem testkey.pk8 YOURAPK.apk YOURAPK_signed.apkYOURAPK_signed.apk就是签完名的apk,去测试一下您重新打包的apk吧。
使用macOS终端命令行进行软件包管理在使用macOS系统时,终端命令行是一个非常强大且实用的工具。
它不仅可以执行各种系统命令,还可以进行软件包管理。
本文将介绍如何使用macOS终端命令行进行软件包管理,以及常用的软件包管理命令。
一、软件包管理简介在macOS系统中,软件包管理是管理、安装、更新和删除软件包的过程。
软件包是预编译、归档和配置的软件的组合。
使用软件包管理工具,可以轻松地进行软件的安装和更新,同时还能够管理软件包之间的依赖关系。
二、终端命令行软件包管理工具在macOS系统中,常用的终端命令行软件包管理工具有两种:Homebrew和MacPorts。
它们都提供了简单易用的命令行接口,并且支持海量的软件包。
1. HomebrewHomebrew是macOS上最常用的软件包管理工具之一。
它通过简单的一行命令安装,可以快速方便地安装、更新和删除软件包。
以下是一些常用的Homebrew命令:- 安装软件包:```brew install <package_name>```- 更新软件包:```brew updatebrew upgrade <package_name>```- 删除软件包:```brew uninstall <package_name>```- 搜索软件包:```brew search <package_name>```2. MacPortsMacPorts是另一种流行的macOS软件包管理工具。
与Homebrew类似,MacPorts也提供了简单易用的命令行接口,并支持大量的软件包。
以下是一些常用的MacPorts命令:- 安装软件包:```sudo port install <package_name>```- 更新软件包:```sudo port selfupdatesudo port upgrade <package_name>```- 删除软件包:```sudo port uninstall <package_name>```- 搜索软件包:```port search <package_name>```三、使用终端命令行进行软件包管理的优势相比于传统的图形界面方式,使用终端命令行进行软件包管理具有以下优势:1. 灵活性:终端命令行可以根据个人需求进行高度定制,安装、更新和删除软件包更加灵活方便。
codesign使用手册codesign是一个用于签名和验证应用程序的命令行工具,用于确保应用程序的完整性和安全性。
本手册将介绍codesign的基本用法和重要注意事项,帮助您正确地使用codesign来签名和验证应用程序。
一、安装codesign在使用codesign之前,您需要确保已将Xcode或命令行工具安装到您的Mac电脑上。
如果您尚未安装,请前往Apple Developer网站下载并安装所需的软件。
二、签名应用程序1. 准备证书和私钥在使用codesign签名应用程序之前,您需要先准备好用于签名的证书和私钥。
这些证书可以是开发者证书或者发布者证书,您可以在Apple Developer网站创建并下载相应的证书。
2. 执行签名命令打开终端应用程序,并使用cd命令导航到应用程序所在的目录。
然后,运行以下命令来签名应用程序:```codesign -s "Your Certificate Name" -f "Your App Name.app"```请将"Your Certificate Name"替换为您所使用的证书的名称,将"Your App Name.app"替换为您要签名的应用程序名称。
3. 验证签名使用以下命令验证应用程序的签名:```codesign -v "Your App Name.app"```如果终端显示"valid on disk",则表示应用程序已成功签名。
三、其他重要注意事项1. 选择合适的证书在签名应用程序时,确保选择合适的证书。
开发者证书适用于开发和调试目的,发布者证书适用于发布到App Store或进行更广泛的分发。
2. 签名应用程序的所有组件确保签名应用程序时包括所有组件,例如可执行文件、动态链接库和资源文件。
可以使用以下命令将所有组件一起签名: ```codesign -s "Your Certificate Name" -f --deep "Your App Name.app"```3. 检查签名警告在进行签名时,codesign可能会生成警告信息。
给APK签名,修改签名简介:本来是不需要签名的,但是我有个android的专⽤设备,限制安装,但是售后给我通过了⼀个证书的验证。
那么我想装什么软件,就需要这个证书验证。
现在记录⼀下签名的主要过程,还有修改签名的⽅法。
⼀:环境准备其实也没⽤什么特别的⼯具JAVA JDK 就够⽤了。
根据⾃⼰的版本下载,我下载的是Windows 158.63 MB jdk-12.0.2_windows-x64_bin.exe⼀路下⼀步安装就可以了。
⼆:⽣成签名的证书找到你安装⽂件夹D:\Program Files\Java\jdk-12.0.1\bin>keytool -genkey -alias jackadam -keyalg RSA -validity 36500 -keystore jackadam.keystor 输⼊密钥库⼝令:再次输⼊新⼝令:您的名字与姓⽒是什么?[Unknown]: jack您的组织单位名称是什么?[Unknown]: technology您的组织名称是什么?[Unknown]: fntco您所在的城市或区域名称是什么?[Unknown]: zhengzhou您所在的省/市/⾃治区名称是什么?[Unknown]: henan该单位的双字母国家/地区代码是什么?[Unknown]: cnCN=jack, OU=technology, O=fntco, L=zhengzhou, ST=henan, C=cn是否正确?[否]: y正在为以下对象⽣成 2,048 位RSA密钥对和⾃签名证书 (SHA256withRSA) (有效期为 36,500 天):CN=jack, OU=technology, O=fntco, L=zhengzhou, ST=henan, C=cn标红的可以根据⾃⼰喜好来换。
会在bin⽬录⽣成证书名称为jackadam的jackadam.keystore这个密钥⽂件。