在Android的apk中怎么调用adb命令


想在apk中实现更改system/lib中的一个库名(如把A.so改成B.so,mv A.so B.so),想到在apk中点击按钮实现adb remount,然后再进行后续的 mv A.so B.so 操作,但是在Android中怎么调用adb的命令?

Android apk java

KyleBC 11 years, 10 months ago

实际上 dkmeteor 已经给出了详尽的答案了,我就额外罗嗦一下

apk 是编译打包生成的安装程序,运行在 android 系统里面。
adb 只是 android 的一个调试桥,用于跟其他平台通信,其中有一个功能就是执行 shell 命令

从题主的需求上看,需要移动一个系统文件,必要的话还需要重新挂载
这个需求得用到 android 的超级管理员权限,也就说没有 root 的手机无法达到要求。

题主可以尝试 dkmeteor 提供的方法先获取 root 权限,然后再执行两个 shell 就可以了


 mount -o rw,remount /system
mv /system/libA.so /system/libB.so

祝好~

F♂ckyou answered 11 years, 10 months ago

那么应该怎么做才能实现通过apk更改system/lib下面的库名?

巴鲁噜噜噜噜噜 answered 11 years, 10 months ago

adb 全称是 Android Debug Bridge ,是 PC端 调试Android的工具,在Android内部怎么调用?

昏暗的日光灯 answered 11 years, 10 months ago

你要动system/lib下的文件.....非ROOT可能不行

Process localProcess = Runtime.getRuntime().exec("mv A.so B.so");

这样直接执行linux命令吧....

不行的话先执行个
Process localProcess = Runtime.getRuntime().exec("su");

apk里执行的linux命令和你adb进去执行的linux命令完全一致.
但是apk所在用户组权限很低.....可能很多命令没法执行..

长颈鹿的脖子 answered 11 years, 10 months ago

Your Answer