2013-10-12 44 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沒有被導出到模擬器 –