Incrustar Knopflerfish en Android no funciona

Estoy intentando integrar el marco de Knopflerfish en una aplicación de Android para cargar y descargar paquetes dinámicamente. Seguíesta tutorial

El primer paso que hice fue descargar framework.jar fromeesta enlace, y agregarlo a mi ruta de clase en mi proyecto de eclipse.

Además, a continuación está mi método onCreate ():

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    Map fwprops = new Hashtable(); //CHANGED
    // add any framework properties to fwprops
    FrameworkFactory ff = new FrameworkFactoryImpl();
    mFramework = ff.newFramework(fwprops);
    try {

        mFramework.init(); //ERROR HERE!!

    } catch (BundleException be) {
        // framework initialization failed

        Log.d(TAG, be.getStackTrace().toString());
    }



}

Tenga en cuenta que cambié una línea del código porque muestra un error de sintaxis.

Cual es:

Dictionary fwprops = new Hashtable();
to
Map fwprops = new Hashtable(); //CHANGED

El error de sintaxis:The method newFramework(Map) in the type FrameworkFactory is not applicable for the arguments (Dictionary)

Ahora, según @ldx enesta post, "Los parches que envié para un mejor soporte de Android / Dalvik en Knopflerfish se han fusionado, por lo que el parcheo y la recompilación de KF no deberían ser más necesarios"

y por lo tanto no agregué nada asumiendo que mi código es suficiente como lo es ahora.

Cuando corro la aplicación. Al instante recibo:Unfortunately, Knopflerfish_Android has stopped en la pantalla.

¿Alguien puede ayudar? A continuación se muestra el LogCat:

08-04 18:25:35.233: E/Trace(7018): error opening trace file: No such file or directory (2)
08-04 18:25:36.793: D/AndroidRuntime(7018): Shutting down VM
08-04 18:25:36.793: W/dalvikvm(7018): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
08-04 18:25:36.813: E/AndroidRuntime(7018): FATAL EXCEPTION: main
08-04 18:25:36.813: E/AndroidRuntime(7018): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.knopflerfish_android/com.example.knopflerfish_android.MainActivity}: java.lang.RuntimeException: Failed to initialize storage org.knopflerfish.framework.bundlestorage.file.BundleStorageImpl
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.os.Looper.loop(Looper.java:137)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.ActivityThread.main(ActivityThread.java:5041)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at java.lang.reflect.Method.invokeNative(Native Method)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at java.lang.reflect.Method.invoke(Method.java:511)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at dalvik.system.NativeStart.main(Native Method)
08-04 18:25:36.813: E/AndroidRuntime(7018): Caused by: java.lang.RuntimeException: Failed to initialize storage org.knopflerfish.framework.bundlestorage.file.BundleStorageImpl
08-04 18:25:36.813: E/AndroidRuntime(7018):     at org.knopflerfish.framework.FrameworkContext.init(FrameworkContext.java:343)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at org.knopflerfish.framework.SystemBundle.doInit(SystemBundle.java:513)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at org.knopflerfish.framework.SystemBundle.init(SystemBundle.java:125)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at com.example.knopflerfish_android.MainActivity.onCreate(MainActivity.java:39)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.Activity.performCreate(Activity.java:5104)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
08-04 18:25:36.813: E/AndroidRuntime(7018):     ... 11 more
08-04 18:25:36.813: E/AndroidRuntime(7018): Caused by: java.lang.reflect.InvocationTargetException
08-04 18:25:36.813: E/AndroidRuntime(7018):     at java.lang.reflect.Constructor.constructNative(Native Method)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at org.knopflerfish.framework.FrameworkContext.init(FrameworkContext.java:341)
08-04 18:25:36.813: E/AndroidRuntime(7018):     ... 17 more
08-04 18:25:36.813: E/AndroidRuntime(7018): Caused by: java.lang.RuntimeException: Cannot create directory: /fwdir/bs
08-04 18:25:36.813: E/AndroidRuntime(7018):     at org.knopflerfish.framework.Util.getFileStorage(Util.java:99)
08-04 18:25:36.813: E/AndroidRuntime(7018):     at org.knopflerfish.framework.bundlestorage.file.BundleStorageImpl.<init>(BundleStorageImpl.java:127)
08-04 18:25:36.813: E/AndroidRuntime(7018):     ... 20 more
08-04 18:25:39.543: I/Process(7018): Sending signal. PID: 7018 SIG: 9

Respuestas a la pregunta(1)

Su respuesta a la pregunta