ADB 兩三事-殘

分類:技術 時間:2016-10-25

參考 這篇

一開始用 *.* 的方式將文件夾下的所有文件 push 到設備的目錄下,但是始終失敗。查無果,只看到了上面這篇說不支持的,于是看了下自己的 ADB 版本號,1.0.32。確認這個版本是不支持 wildCard 匹配文件的。遂將 *.* 這種表示方式改成了 shell 中的 for 循環。

for i in `ls /Users/sergiochan/xxx/`
do
echo quot;/Users/sergiochan/xxx/$iquot;
adb push quot;/Users/sergiochan/xxx/$iquot; /system/{destination}/
adb push quot;/Users/sergiochan/xxx/$iquot; /system/{destination}/{subDestination}/
done

后來試了一下才發現升級到 1.0.36 是可以支持的。遂,卒。

ADB remount 顯示 succeeded 卻并沒有成功掛載

重啟大法好哈哈哈哈哈哈。

想要在 Android App 中運行 shell?

可以說很麻煩么 =3=

除非你是以 root 用戶運行的 app,否則如果是普通用戶的話,連 system 路徑下的文件都沒法修改,更別說 su 了。不過,如果想要修改 system 路徑下的文件,可以在 manifest 中加上 android:sharedUserId=”android.uid.system” 讓你的 app 以 system 用戶運行,然后就可以直接通過 FileOutputStream 的方式修改 system 路徑下的文件,例如控制 CPU 內存什么的。

想要運行 shell ,可以在 ADB 命令行通過 ps 命令查看你的 package 運行的用戶是誰,例如用戶 test,如果你 su test 之后再運行 su 顯示的是 Permission Denied ,那就沒有辦法了。如果 root 過后的設備給你的運行用戶配了用戶權限什么的,那記得在 Android 中執行 shell 之前,執行一下 su :

try {
Process process = Runtime.getRuntime().exec(quot;suquot;);
process.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}

Tags: 安卓開發

文章來源:http://sergiochan.xyz/2016/10/24/ADB-两三事-残/


ads
ads

相關文章
ads

相關文章

ad