更改包名称

Sim*_*Ang 2 android reverse-engineering smali

我计划通过smali更改包名(反向)

当我打开apktool.yml时,我看到了这个

forced-package-id:'127'

我试图改变它,但它崩溃我为什么要这样做?

Jes*_*eke 17

假设您的目标是重命名apk的包名称,那么用于类的包名称是无关紧要的.apk的包名称与apk中任何类的包名称大多无关.并且没有理由需要触摸包ID.

我建议用apktool解压缩apk,然后编辑apktool.yml,将renameManifestPackage设置为新的包名.然后,当您使用apktool重建apk时,它应该使用aapt的--rename-manifest-package功能来更改包名称.

在那之后,只是辞职新的apk,你应该很高兴去.

apktool d app.apk
// change "renameManifestPackage: null" in app/apktool.yml
// to "renameManifestPackage: my.new.package"
apktool b app -o new_app.apk
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/my.keystore new_app.apk mykeyname
Run Code Online (Sandbox Code Playgroud)

而且重申一下,您不需要修改任何类的包名.

  • 我承认你的答案可能比我的更有帮助.+1. (2认同)

Luc*_*ico 5

据我所知,没有快速的方法来更改软件包名称。你必须改变package="com.mycompany.myapp"的Manifest.xml,然后手动替换所有包的名字出现在smali文件(文件夹)。最后,编辑apktool.yml,用新的软件包名称替换旧的软件包名称。

完整的详细教程可以在这里找到:http : //forum.xda-developers.com/showthread.php?t=2760965