Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid, class not found from imported jar file
    text
    copied!<p>I included a jar file in my Android project as explained in <a href="https://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project">How can I use external JARs in an Android project?</a>. With both methods described by MannyNS and Vinayak B. in this post I get the error "Could not find class 'test.libraryCalc.Calc" which is the class provided by the library. The following code illustrates the problem:</p> <p>Example class provided via library: Calc.java</p> <pre><code>package test.libraryCalc; public class Calc { public int add(int a, int b){ return a + b; } } </code></pre> <p>LibraryTestActivity.java</p> <pre><code>package test.library; import test.libraryCalc.Calc; import android.app.Activity; import android.os.Bundle; public class LibraryTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Calc calc = new Calc(); int c = calc.add(3, 4); } } </code></pre> <p>I exported the jar file containing Calc.java to LibraryTest\libs\calc.jar</p> <p><img src="https://i.stack.imgur.com/iRWi4.png" alt="enter image description here"></p> <p>and added a reference to it using the "Add JARs..." button in the Java Build Path of LibraryTest</p> <p><img src="https://i.stack.imgur.com/PtePm.png" alt="enter image description here"> The library shows up in the Referenced libraries in LibraryTest</p> <p><img src="https://i.stack.imgur.com/Fydeq.png" alt="enter image description here"></p> <p>LibraryTest has no build problems but when running it on the emulator the following is shown in LogCat:</p> <pre><code>12-27 14:01:33.965: E/dalvikvm(747): Could not find class 'test.libraryCalc.Calc', referenced from method test.library.LibraryTestActivity.onCreate 12-27 14:01:33.965: W/dalvikvm(747): VFY: unable to resolve new-instance 13 (Ltest/libraryCalc/Calc;) in Ltest/library/LibraryTestActivity; 12-27 14:01:33.995: D/dalvikvm(747): VFY: replacing opcode 0x22 at 0x0008 12-27 14:01:33.995: D/dalvikvm(747): VFY: dead code 0x000a-0013 in Ltest/library/LibraryTestActivity;.onCreate (Landroid/os/Bundle;)V 12-27 14:01:34.065: D/AndroidRuntime(747): Shutting down VM 12-27 14:01:34.065: W/dalvikvm(747): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 12-27 14:01:34.075: E/AndroidRuntime(747): FATAL EXCEPTION: main 12-27 14:01:34.075: E/AndroidRuntime(747): java.lang.NoClassDefFoundError: test.libraryCalc.Calc 12-27 14:01:34.075: E/AndroidRuntime(747): at test.library.LibraryTestActivity.onCreate(LibraryTestActivity.java:14) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.os.Handler.dispatchMessage(Handler.java:99) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.os.Looper.loop(Looper.java:123) 12-27 14:01:34.075: E/AndroidRuntime(747): at android.app.ActivityThread.main(ActivityThread.java:4627) 12-27 14:01:34.075: E/AndroidRuntime(747): at java.lang.reflect.Method.invokeNative(Native Method) 12-27 14:01:34.075: E/AndroidRuntime(747): at java.lang.reflect.Method.invoke(Method.java:521) 12-27 14:01:34.075: E/AndroidRuntime(747): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 12-27 14:01:34.075: E/AndroidRuntime(747): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 12-27 14:01:34.075: E/AndroidRuntime(747): at dalvik.system.NativeStart.main(Native Method) 12-27 14:06:34.170: I/Process(747): Sending signal. PID: 747 SIG: 9 </code></pre> <p>What needs to be done to get this working? Thanks for all suggestions.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload