java - 在Android的apk中怎么调用adb命令
伊谢尔伦
伊谢尔伦 2017-04-17 13:05:31
[Java讨论组]

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(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

祝好~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号