在安卓下用c语言,来执行adb shell,生成so文件释放接口给上层

zyt6464 2013-09-09 11:05:33
各位高手,能不能用c语言,来执行adb shell,生成so文件释放接口给上层。
系统环境要求是安卓,在windows下可以,但是在安卓下,返回无adb命令,直接在安卓终端输入adb命令是可以的,本人理解,可能是在安卓下,没有可供c调用的adb的应用程序,我用的编译器是Cygwin交叉编译,请高手帮忙!
...全文
630 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
DrSmart 2013-09-22
  • 打赏
  • 举报
回复
少年,看看adb源码,adb就是socket client,在手机上都是调用的pm命令执行安装,卸载的
iltgcl 2013-09-22
  • 打赏
  • 举报
回复
樓主還是先掌握一下adb的基礎知識吧
zyt6464 2013-09-22
  • 打赏
  • 举报
回复
没有一个回复有用的,期待高手回复
媒体盒子 2013-09-10
  • 打赏
  • 举报
回复
请问你在应用层调用installApk时应用程序有先获取root权限吗?APP权限肯定是调用不了的
yuleyouxi 2013-09-10
  • 打赏
  • 举报
回复
LZ想通过android手机/平板给另外的手机/平板安装应用么?
Jobernowl 2013-09-10
  • 打赏
  • 举报
回复
我在我的nexus4上试了一下 竟然有adb命令 然后试着安装一下apk 发现不行 结果是 等待设备 waiting for device
zyt6464 2013-09-10
  • 打赏
  • 举报
回复
安装肯定是安装了,不然直接 在终端输入命令不会执行成功,tanwei4199你要仔细读我的问题,再回复。谢谢
DrSmart 2013-09-09
  • 打赏
  • 举报
回复
在手机上无需adb啊,adb是和pc用的,直接System执行即可
凉凉二点凉 2013-09-09
  • 打赏
  • 举报
回复
试试通过system命令来调用adb shell 里面相关命令
荒颜 2013-09-09
  • 打赏
  • 举报
回复
LS的几位都跟你解释那么清楚了 adb是用来操作android设备的 但是你在android里面肯定是没这个的啊 安装可以试试用 pm install -r path
zyt6464 2013-09-09
  • 打赏
  • 举报
回复
root权限已经有了, 直接在终端上输入adb install /mnt/sdcard/ApkInstall/A.apk,是可以的,但是用c代码不行
DrSmart 2013-09-09
  • 打赏
  • 举报
回复
adb是直接和手机上的adbd通讯,看你需求想安静模式下装apk吧,有了root权限才可以
zyt6464 2013-09-09
  • 打赏
  • 举报
回复
问题补充:用c代码 JNIEXPORT jint JNICALL Java_com_known_util_device_DeviceUtil_installApk (JNIEnv * env, jobject objet, jstring js) {char buf[200]=""; //char str[200]=""; char *str=(char*)env->GetStringUTFChars(js,0); sprintf(buf,"adb install -r %s",str); int i=system("adb install /mnt/sdcard/ApkInstall/A.apk"); usleep(1000); return i; }执行i=256,没有执行成功 但是直接在终端上输入adb install /mnt/sdcard/ApkInstall/A.apk,执行成功。
zyt6464 2013-09-09
  • 打赏
  • 举报
回复
就是用system来实现的,但是system()操作本地是可以成功的,但是system()操作远程设备不成功,

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧