2013-10-12 49 views
0

我是来自Java背景的Android新手。所以请原谅,如果这是一个非常简单的修复。我在java中创建了一个机器模拟器,我想用一个简单的UI在Android上运行它。问题是,它崩溃,当我做到这一点参考/实现接口的Android崩溃

public class UITerminal extends EditText implements Terminal 

我也试过这个类

Terminal terminal; 
public void init() 
{ 
     terminal = new Terminal() 
     { 
     //implemented methods 
     } 
} 

这两种解决方案坠毁在开口内。有关我应该怎么做的任何建议?提前致谢。这是我第一次体验Android。

编辑

我点击应用程序,它显示“不幸的是MyTronEmulator已停止工作”

10-12 09:27:58.187: I/dalvikvm(964): Failed resolving Ldavis/mytronemulator/UITerminal; interface 635 'Ldavis/lib/mytronemulator/Terminal;' 
10-12 09:27:58.187: W/dalvikvm(964): Link of class 'Ldavis/mytronemulator/UITerminal;' failed 
10-12 09:27:58.227: D/AndroidRuntime(964): Shutting down VM 
10-12 09:27:58.227: W/dalvikvm(964): threadid=1: thread exiting with uncaught exception (group=0x41465700) 
10-12 09:27:58.347: E/AndroidRuntime(964): FATAL EXCEPTION: main 
10-12 09:27:58.347: E/AndroidRuntime(964): java.lang.RuntimeException: Unable to start activity ComponentInfo{davis.mytronemulator/davis.mytronemulator.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class davis.mytronemulator.UITerminal 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.os.Handler.dispatchMessage(Handler.java:99) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.os.Looper.loop(Looper.java:137) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.ActivityThread.main(ActivityThread.java:5103) 
10-12 09:27:58.347: E/AndroidRuntime(964): at java.lang.reflect.Method.invokeNative(Native Method) 
10-12 09:27:58.347: E/AndroidRuntime(964): at java.lang.reflect.Method.invoke(Method.java:525) 
10-12 09:27:58.347: E/AndroidRuntime(964): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
10-12 09:27:58.347: E/AndroidRuntime(964): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
10-12 09:27:58.347: E/AndroidRuntime(964): at dalvik.system.NativeStart.main(Native Method) 
10-12 09:27:58.347: E/AndroidRuntime(964): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class davis.mytronemulator.UITerminal 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
10-12 09:27:58.347: E/AndroidRuntime(964): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.Activity.setContentView(Activity.java:1895) 
10-12 09:27:58.347: E/AndroidRuntime(964): at davis.mytronemulator.MainActivity.onCreate(MainActivity.java:13) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.Activity.performCreate(Activity.java:5133) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
10-12 09:27:58.347: E/AndroidRuntime(964): ... 11 more 
10-12 09:27:58.347: E/AndroidRuntime(964): Caused by: java.lang.ClassNotFoundException: Didn't find class "davis.mytronemulator.UITerminal" on path: DexPathList[[zip file "/data/app/davis.mytronemulator-2.apk"],nativeLibraryDirectories=[/data/app-lib/davis.mytronemulator-2, /system/lib]] 
10-12 09:27:58.347: E/AndroidRuntime(964): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 
10-12 09:27:58.347: E/AndroidRuntime(964): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
10-12 09:27:58.347: E/AndroidRuntime(964): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.createView(LayoutInflater.java:559) 
10-12 09:27:58.347: E/AndroidRuntime(964): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
10-12 09:27:58.347: E/AndroidRuntime(964): ... 21 more 
+0

发布崩溃的logcat – JRowan

+0

这是'死机'? – ssantos

+0

我添加了.jar文件作为库,它编译得很好。 –

回答

0

这是一段时间了,但我试图使用Java 1.7库。 Android只支持多达1.6 祝我的错误只会说:)

0

你必须确保你的IDE是出口.jar文件,就加入它的顶部作为图书馆。否则,假定它已经在电话/模拟器上。

在eclipse中,您可以通过右键单击项目 - >构建路径 - >配置构建路径 - >排序并导出 - >检查库来确保完成此操作。

+0

我的确做到了。我在lib文件夹下添加了该库,然后将该jar添加为一个文件,并在Order和Export中检查了该框。 –

+0

@TylerDavis你有没有尝试清洁(项目 - >清洁)项目和重建? – ddmps

+0

虽然我确实相信我的问题是jar没有被导出到模拟器 –