Android反编译之修改应用包名 | 您所在的位置:网站首页 › app包名怎么更改 › Android反编译之修改应用包名 |
前言
近期看B站数码区这条视频 【大米】破处理器,它能行吗?K50电竞版评测_哔哩哔哩_bilibili 时,发现了UP主的一个比较骚的操作: 嗯?apk文件可以直接拿来使用修改包名的?作为 Android 开发者的我竟然都不知道,是不是太 low 了点儿。。接下来一块看看怎么修改apk的包名吧。 基本操作以 Android 应用的跑分软件 com.primatelabs.geekbench5_5.4.4.apk 为例。 apk 解包先确认本地是否安装 Java 环境,JDK的bin文件夹目录是否引入到 环境变量PATH下。确认完毕后,下载 apktool 工具并保存到任意一环境变量目录下。 cmd执行: apktool d com.primatelabs.geekbench5_5.4.4.apk # 后面是apk路径 修改 apk 信息本次修改的应用信息除了应用包名外,另外一个就是应用名。修改的方法大同小异,寻找解包后文件夹内对应字符,进行替换。 修改包名包名使用的地方可能比较多,这里使用Notepad++进行文件夹内查找: 可以看到修改的地方并不多,且并不包含.so等二进制文件。接下来可以双击定位到每一行手动修改,也可以使用文件夹内查找并替换的功能。这里把原有的包名com.primatelabs.geekbench5修改为cn.wx2020.testbench。 修改文件名文件名的路径是比较固定的,一般就在 res\values\strings.xml中,如果存在翻译的话还可以去找对应资源文件夹,比如中文就在 res\values-zh-rCN\strings.xml 中。 接下来搜索 app_name: 把原有的 Geekbenck 5 改成 Testbench。 重打包cmd 执行: apktool b com.primatelabs.geekbench5_5.4.4 # 后面是解包后生成的文件夹路径 重签名针对最新的 Android 11 系统,需要三个步骤:v1签名、4k对齐、v2签名;针对Android 10 以及以下的系统,使用v1签名的步骤即可。 v1签名生成签名证书 keytool -genkey -v -keyalg RSA -keysize 1024 -sigalg SHA1withRSA -validity 20000 -keystore {签名文件} -alias {签名别名} -keypass {key密码} -storepass {store密码}进行签名 jarsigner -keystore {签名文件} -storepass {store密码} -keypass {key密码} -signedjar {签名后的APK文件} {待签名的APK文件} {签名别名}执行以下命令前,确保Android SDK build-tools文件夹下的特定版本路径存在于 环境变量PATH 下。这里使用当前最新的 31.0.0 版本。 4K对齐 zipalign 4 {已签名的APK文件} {对齐后的APK文件} v2签名 apksigner.bat sign --ks {签名文件路径} --ks-key-alias {签名别名} --ks-pass pass:{KeyStore_Password} --key-pass pass:{Key_Password} --out {V2签名后的APK文件} {对齐后的APK文件}到此,基本操作就结束了。但其实基本操作并不是彻底地修改包名。彻底地修改包名需要配合修改代码文件才可以。 高级操作未完待续。。。 参考地址Android 反编译入门指南 更改 android apk 名字、包名 可双开及躲过检测 |
CopyRight 2018-2019 实验室设备网 版权所有 |