[問題] RecoverySystem.install ERROR message
開發層: 應用
問題: 寫一個簡單apk, 執行 RestartSysem.install method 重開機後更新指定檔案
輸入:
預期輸出: reboot後更新device上指定路徑下檔案
錯誤訊息:
W/RecoverySystem( 477): !!! REBOOTING TO INSTALL /mnt/internalstorage/external/update.zip !!!
W/TAG ( 477): CATCH
W/System.err( 477): java.io.FileNotFoundException: /cache/recovery/command (Permission denied)
W/System.err( 477): at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
W/System.err( 477): at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
W/System.err( 477): at java.io.FileOutputStream.<init>(FileOutputStream.java:94)
W/System.err( 477): at java.io.FileOutputStream.<init>(FileOutputStream.java:66)
W/System.err( 477): at java.io.FileWriter.<init>(FileWriter.java:42)
W/System.err( 477): at android.os.RecoverySystem.bootCommand(RecoverySystem.java:371)
W/System.err( 477): at android.os.RecoverySystem.installPackage(RecoverySystem.java:324)
W/System.err( 477): at ABC.com.android.ABC.onCreate(ABC.java:25)
W/System.err( 477): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
W/System.err( 477): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
W/System.err( 477): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
W/System.err( 477): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
W/System.err( 477): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
W/System.err( 477): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 477): at android.os.Looper.loop(Looper.java:123)
W/System.err( 477): at android.app.ActivityThread.main(ActivityThread.java:3647)
W/System.err( 477): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 477): at java.lang.reflect.Method.invoke(Method.java:507)
W/System.err( 477): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
W/System.err( 477): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
W/System.err( 477): at dalvik.system.NativeStart.main(Native Method)
程式碼: (請多利用置底文網站)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File updateFile = new File("/cache/update.zip");
if (updateFile.exists()){
try {
RecoverySystem.installPackage(getApplicationContext(), updateFile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
參考: (書籍/網頁/...)
補充說明:
有將update.zip檔案放到/cache/update.zip和/mnt/internalstorage/external資料夾下
並在Manifest.mxl檔案加入android.permission.REBOOT(允許reboot)
可是將apk丟上device沒有reboot, 外加一些system error
有人知道是怎麼回事嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.161.73
※ 編輯: l3l4 來自: 59.115.161.73 (05/22 15:48)
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章