2011-09-14 62 views
0

我想寫一個小工具將應用程序移動到SDcard。如何通過shell腳本將應用程序移動到SD卡

我在Android開源中發現了movePackage()-方法,並反映了該方法。我失敗了,因爲這種方法需要com.android.PERMISSION.MOVE_PACKAGE,我無法得到。所以我想使用shell腳本來爲rooted設備執行此操作。

但我實際上並不知道在movePackage()-方法中發生了什麼。所以我不能寫出正確的腳本。

請問當應用程序移動到SD卡時,請說出Android內部發生了什麼?我可以用程序來做這個嗎?

+0

由於Android是你可以開源請查看http://android.git.kernel.org上的Android源代碼(如果仍然存在,請嘗試http://github.com/android) –

+0

SD上的應用程序是加密的,所以你不能移動它們,你需要調用特定的Android方法,我不認爲這是可通過shell – JohnUopini

+0

喬辛普森 - 我想看看源,但網站已關閉。它已經停了很長一段時間。發生了什麼? To JohnUopini - 你認爲我可以通過android源代碼找到方法嗎?我擔心的是我找到了方法並獲取源代碼,但仍需要一些我無法獲得的權限。 –

回答

0

我不確定如果我瞭解你,但在植根設備上,你可以使用adb。

例如:

adb push /home/username/Desktop/app.apk /sdcard/app.apk 

您也可以做到這一點(去除):

adb shell rm /sdcard/app.apk 

如果你想安裝:

adb install /home/username/Desktop/app.apk 
+0

這不會工作,你只是在SD卡上移動SD卡,但該應用程序不再工作。 – JohnUopini

+1

感謝您的回答。但是adb不會幫助,因爲將應用移動到SDcard不僅僅是將apk移動到SDcard。 –