2016年5月24日 星期二

genymotion android 6.0 /data/data中的權限無法讀取更改

因為必須在/data/data內刪除設定檔的目錄, 以前都是直接在genymotion內的模擬
器, 直接刪除, 但換到6.0以後, 不知為何這個目錄無權讀取, 想到一個變通的方法

直接在virtualbox中開啟虛擬機

用adb連到虛擬機

adb connect 192.168.56.101

直接到shell操作
adb shell

給序全部權限
chmod 777 /data/data

查看是否成功更改
ls /data/data/ -ld

更改成功, 但回到genymotion中開啟虛擬機, 結果權限又被改回無法讀取的狀態

再想一個方法, 這次不改權限, 改直接在adb shell內刪除/data/data/內的檔案
刪除完成, 而且在genymotion內的模擬器內, 該檔案也消失不見了.


後來又發現一個比較好的方法

在android studio 或 eclipse 中的 Android device monitor 中的file explore
可以用 把/data/data內的檔案下載到pc端檢視, 也可以刪除, 但有時會失敗, 如果失敗
的時候, 在Tool/Android/Enable ADB Integration 把打勾的地方拿掉, 就可正常下載.



update 20160619
原來用 adb 一直無法連到genymotion的模擬器, 會出現
ADB server didn't ACK
* failed to start daemon *
的錯誤.

後來發現使用 genymotion 目錄下的 adb 就可連上
C:\Program Files\Genymobile\Genymotion\tools>adb devices
會出現一個 ip 
C:\Program Files\Genymobile\Genymotion\tools>adb connect ip

update 20161011

讀取未root手機, data/data內資料夾的兩個方法
http://stackoverflow.com/questions/13006315/how-to-access-data-data-folder-in-android-device

If the application is debuggable you can use the run-as command in adb shell
adb shell
run-as com.your.packagename 
cp /data/data/com.your.packagename/
Alternatively you can use Android's backup function.

adb backup -noapk com.your.packagename
You will now be prompted to 'unlock your device and confirm the backup operation'. It's best NOT to provide a password, otherwise it becomes more difficult to read the data. Just click on 'backup my data'. The resulting 'backup.ab' file on your computer contains all application data in android backup format. Basically it's a compressed tar file. This page explains how you can use OpenSSL's zlib command to uncompress it. You can use the  adb restore backup.db command to restore the backup.




  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP