I created a new project using Android Studio and copied the jar file into my applications. Then they added it as a library that made the IDE recognize it. Later I added it to build.gradle and now it just compiles. However, when I try to run the application on the device, it crashes using NoClassDefFoundError .
Attached and in order:
- Project tree on Android Studio. Check out
test-jar-to-import.jar inside HelloSheepProject/HelloSheep/libs/ . - The contents of
MainActivity.java . He is trying to create a new MyFile . Nothing else. build.gradle inside HelloSheepProject/HelloSheep/ . I added the line compile files('libs/test-jar-to-import.jar') .- The contents of
MyFile.java . It was created in Eclipse and exported as a jar file. - An error occurred while trying to run it on the device.
Any ideas on what I'm missing? I tried ./gradlew clean in HelloSheepProject , but that did not help.

package top.furrylamb.example.hellosheep; import android.os.Bundle; import android.app.Activity; import top.furrylamb.example.MyFile; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyFile myFile = new MyFile("hi", "there"); } }
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:13.0.+' //compile fileTree(dir: "libs", include: "*.jar") compile files('libs/test-jar-to-import.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 16 } }
package top.furrylamb.example; public class MyFile { public final String left; public final String right; public MyFile(String left, String right) { this.left = left; this.right = right; } }
07-19 19:26:33.855 13656-13656/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: top.furrylamb.example.MyFile at top.furrylamb.example.hellosheep.MainActivity.onCreate(MainActivity.java:15) at android.app.Activity.performCreate(Activity.java:5206) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125) at android.app.ActivityThread.access$600(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) at dalvik.system.NativeStart.main(Native Method)
source share