在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的命令?

阅读 12.7k
4 个回答

你要动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所在用户组权限很低.....可能很多命令没法执行..

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

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

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

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

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

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

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

祝好~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题