Smali moveTaskToBack
Smali moveTaskToBack
我刚开始使用 smali,我想在 main activity (smali) 中添加 moveTaskToBack(true) 但我不知道如何转换它。
顺便说一句,这是我尝试过的:
invoke-virtual {p0, v0}, Landroid/androapp/Main;->moveTaskToBack(Z)Z
使用apktool反编译
java -jar apktool.jar d <file-to-decompile.apk>
然后在需要插入代码的地方编辑smali文件。
但是你必须确保在你插入代码的地方 v0
已经包含值 1
为真,或者你必须将它设置为 1
但是然后确保 v0
不包含稍后使用的值:
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/androapp/Main;->moveTaskToBack(Z)Z
之后使用 apktool 重建应用程序。
java -jar apktool.jar b <directory created by apktool>
如果 apktool 成功,您会在 dist/
子目录中找到生成的 apk 文件。
根据修改后的 APK 文件,您可能必须使用 zipalign 4 <modified apk file>
或 zipalign -p 4 <modified apk file>
对齐 apk(如果应用在中定义了 extractNativeLibs=false
,则必须使用后者是 AndroidManifest.xml
).
现在您必须使用例如apksigner
用于 Android SDK。
我刚开始使用 smali,我想在 main activity (smali) 中添加 moveTaskToBack(true) 但我不知道如何转换它。
顺便说一句,这是我尝试过的:
invoke-virtual {p0, v0}, Landroid/androapp/Main;->moveTaskToBack(Z)Z
使用apktool反编译
java -jar apktool.jar d <file-to-decompile.apk>
然后在需要插入代码的地方编辑smali文件。
但是你必须确保在你插入代码的地方 v0
已经包含值 1
为真,或者你必须将它设置为 1
但是然后确保 v0
不包含稍后使用的值:
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/androapp/Main;->moveTaskToBack(Z)Z
之后使用 apktool 重建应用程序。
java -jar apktool.jar b <directory created by apktool>
如果 apktool 成功,您会在 dist/
子目录中找到生成的 apk 文件。
根据修改后的 APK 文件,您可能必须使用 zipalign 4 <modified apk file>
或 zipalign -p 4 <modified apk file>
对齐 apk(如果应用在中定义了 extractNativeLibs=false
,则必须使用后者是 AndroidManifest.xml
).
现在您必须使用例如apksigner
用于 Android SDK。