Apache Felix を Android アプリケーションに埋め込んでいます。バンドルの開始と停止は正常に機能します。しかし、別のバンドル ファイルを読み取ってバンドルを更新したいと考えています。これが私のコードです:
bundle1 = bundleContext1.installBundle("file:sdcard/Download/AndroidImageViewer_1.0.0.201308221559.jar");
bundle1.start();
bundle1.stop();
try {
bundle1.update(new FileInputStream(new File("file:sdcard/Download/AndroidVideoPlayer_1.0.0.201308231205.jar")));
} catch (FileNotFoundException e) {e.printStackTrace();}
bundle1.start();
これが機能し、バンドルが更新されることを期待していましたが、残念ながら、次のエラーが発生しました。
java.io.FileNotFoundException: /file:sdcard/Download/AndroidVideoPlayer_1.0.0.201308231205.jar (No such file or directory)
at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:239)
この例外は次の行で発生します。
bundle1.update(new FileInputStream(new File("file:sdcard/Download/AndroidVideoPlayer_1.0.0.201308231205.jar")));
バンドルがダウンロードディレクトリに存在することは完全に確信しており、AndroidVideoPlayer_1.0.0.201308231205.jar
以前に開始しようとしましたが、正常に機能しました。私は混乱しています。何か助けはありますか?ありがとう。