Jak mogę użyć zewnętrznego słoika w projekcie Android w NetBeans?

Muszę utworzyć bibliotekę Android, którą mogę dołączyć jako słoik w dowolnej aplikacji na Androida. Używam NetBeans 6.8, wtyczki nbandroid i Android SDK.

Kroki, które do tej pory podjąłem, to:

1) Utwórz projekt biblioteki, dołączając android.jar, aby mieć dostęp do klas Androida (biblioteka używa android.util.Log i innych klas Androida).

2) Skompiluj bibliotekę jako słoik.

3) Dodaj słoik biblioteki do aplikacji na Androida (kliknij prawym przyciskiem myszy na Biblioteki w węźle projektu i dodaj słoik).

4) Dodaj <uses-library> do manifestu Androida. (błędne i niepotrzebne)

Krok 3 przynajmniej pozwala mi odwoływać się do klas biblioteki w kodzie źródłowym aplikacji, ale klasy nie wydają się być faktycznie uwzględniane w czasie kompilacji. Po uruchomieniu aplikacji pojawia się następujący błąd w dzienniku.

I/dalvikvm(  349): Could not find method mylibrarypackage.MyClass.myMethod, referenced from method myapplicationpackage.HomeActivity.onCreate
W/dalvikvm(  349): VFY: unable to resolve static method 985: Lmylibrarypackage/MyClass;.myMethod ()V
D/dalvikvm(  349): VFY: replacing opcode 0x71 at 0x000a
D/dalvikvm(  349): Making a copy of Lmyapplicationpackage/HomeActivity;.onCreate code (160 bytes)
D/AndroidRuntime(  349): Shutting down VM
W/dalvikvm(  349): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
E/AndroidRuntime(  349): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(  349): java.lang.NoClassDefFoundError: mylibrarypackage.MyClass
E/AndroidRuntime(  349):    at myapplicationpackage.HomeActivity.onCreate(HomeActivity.java:58)
E/AndroidRuntime(  349):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime(  349):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
E/AndroidRuntime(  349):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
E/AndroidRuntime(  349):    at android.app.ActivityThread.access$2200(ActivityThread.java:119)
E/AndroidRuntime(  349):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
E/AndroidRuntime(  349):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  349):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  349):    at android.app.ActivityThread.main(ActivityThread.java:4310)
E/AndroidRuntime(  349):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  349):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  349):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime(  349):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime(  349):    at dalvik.system.NativeStart.main(Native Method)

Czy muszę dodać bibliotekę do ścieżki budowania gdzie indziej? Czy czegoś mi brakuje?

questionAnswers(3)

yourAnswerToTheQuestion