2017-04-18 1 views
0

Ich versuche, den "HelloAndroid" nach Stanford Mobile Computer Vision Kurs http://web.stanford.edu/class/cs231m/ zu implementieren. Ich stoße auf das Problem "ClassNotFoundException". Auf dem Android-Emulator steht: "Leider hat HelloAndroid aufgehört." Die LogCat in Eclipse zeigt folgendes:Klasse "edu.stanford.cs231m.HelloAndroidActivity" nicht gefunden auf Pfad: DexPathList

04-17 22:28:47.180: D/AndroidRuntime(2036): Shutting down VM 
04-17 22:28:47.180: D/AndroidRuntime(2036): --------- beginning of crash 
04-17 22:28:47.180: E/AndroidRuntime(2036): FATAL EXCEPTION: main 
04-17 22:28:47.180: E/AndroidRuntime(2036): Process: edu.stanford.cs231m, PID: 2036 
04-17 22:28:47.180: E/AndroidRuntime(2036): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{edu.stanford.cs231m/edu.stanford.cs231m.HelloAndroidActivity}: java.lang.ClassNotFoundException: Didn't find class "edu.stanford.cs231m.HelloAndroidActivity" on path: DexPathList[[zip file "/data/app/edu.stanford.cs231m-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]] 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.ActivityThread.access$800(ActivityThread.java:144) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.os.Handler.dispatchMessage(Handler.java:102) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.os.Looper.loop(Looper.java:135) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.ActivityThread.main(ActivityThread.java:5221) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at java.lang.reflect.Method.invoke(Native Method) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at java.lang.reflect.Method.invoke(Method.java:372) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
04-17 22:28:47.180: E/AndroidRuntime(2036): Caused by: java.lang.ClassNotFoundException: Didn't find class "edu.stanford.cs231m.HelloAndroidActivity" on path: DexPathList[[zip file "/data/app/edu.stanford.cs231m-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]] 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.Instrumentation.newActivity(Instrumentation.java:1065) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 
04-17 22:28:47.180: E/AndroidRuntime(2036):  ... 10 more 
04-17 22:28:47.180: E/AndroidRuntime(2036):  Suppressed: java.lang.ClassNotFoundException: edu.stanford.cs231m.HelloAndroidActivity 
04-17 22:28:47.180: E/AndroidRuntime(2036):   at java.lang.Class.classForName(Native Method) 
04-17 22:28:47.180: E/AndroidRuntime(2036):   at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
04-17 22:28:47.180: E/AndroidRuntime(2036):   at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
04-17 22:28:47.180: E/AndroidRuntime(2036):   at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
04-17 22:28:47.180: E/AndroidRuntime(2036):   ... 13 more 
04-17 22:28:47.180: E/AndroidRuntime(2036):  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

Als Referenz der Java-Code

package edu.stanford.cs231m.helloandroid; 
import android.widget.TextView; 
import android.app.Activity; 
import android.os.Bundle; 
public class HelloAndroidActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     TextView txtView = new TextView(this); 
     txtView.setText("Hello czAndroid!"); 
     setContentView(txtView); 

     super.onCreate(savedInstanceState); 
    } 
} 

ist und die manifest.xml ist

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="edu.stanford.cs231m" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="21" 
    android:targetSdkVersion="21" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

    <activity 
     android:name="HelloAndroidActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="landscape"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER"/> 
      <action android:name="android.intent.action.MAIN"/> 
     </intent-filter> 
    </activity> 

</application> 

</manifest> 

Die Projektfenster wie ist enter image description here

Das Emulatordetail ist wie folgt, wenn das wichtig ist :

enter image description here

Und Pfad der Java-Build ist enter image description here

Ich habe seit fast einem Tag daran gearbeitet, und Methoden versucht, einen Punkt wie das Hinzufügen zu „HelloAndroidActivity“, alle Elemente in der Java wählen Build-Pfad usw., aber keiner von diesen funktioniert.

Antwort

0

Es stellte sich heraus, dass mein Paketname für manifest.xml falsch geschrieben wurde. Ich schrieb

package="edu.stanford.cs231m" 

Die richtige

sein sollte
package="edu.stanford.cs231m.helloandroid" 

Und Problem war gelöst.

Verwandte Themen