ClassNotFoundException nach ADT-update
Ich habe mir vor kurzem aktualisierte Android SDK & Eclipse-ADT-plugin auf die neueste version. Wenn ich jetzt versuche zu laufen, ein vorhandenes Android Projekt, das LogCat zeigt eine ClassNotFoundException
.
Ich habe versucht, erstellen ein neues Gerät, aber das problem besteht immer noch.
Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.myapp.MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
LogCat
05-17 13:09:56.357: E/AndroidRuntime(969): FATAL EXCEPTION: main
05-17 13:09:56.357: E/AndroidRuntime(969): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myapp/com.example.myapp.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.myapp.MainActivity" on path: /data/app/com.example.myapp-1.apk
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.os.Looper.loop(Looper.java:137)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.ActivityThread.main(ActivityThread.java:5041)
05-17 13:09:56.357: E/AndroidRuntime(969): at java.lang.reflect.Method.invokeNative(Native Method)
05-17 13:09:56.357: E/AndroidRuntime(969): at java.lang.reflect.Method.invoke(Method.java:511)
05-17 13:09:56.357: E/AndroidRuntime(969): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-17 13:09:56.357: E/AndroidRuntime(969): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-17 13:09:56.357: E/AndroidRuntime(969): at dalvik.system.NativeStart.main(Native Method)
05-17 13:09:56.357: E/AndroidRuntime(969): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.myapp.MainActivity" on path: /data/app/com.example.myapp-1.apk
05-17 13:09:56.357: E/AndroidRuntime(969): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
05-17 13:09:56.357: E/AndroidRuntime(969): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-17 13:09:56.357: E/AndroidRuntime(969): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
05-17 13:09:56.357: E/AndroidRuntime(969): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
05-17 13:09:56.357: E/AndroidRuntime(969): ... 11 more
Bemerkte ich, dass die neue APK-Datei aufgerufen wird myapp-1.apk, während es in der Regel genannt Anwendung.apk.
Kann mir jemand sagen, wie Sie zu beheben?
beziehen Sie sich alle library-Projekt in Ihrem android-Projekt
Ich bin. Gibt es irgendein Problem?
Nein, ich habe nur Gläser in
möglich, Duplikat der ClassNotFoundException auf AndroidAnnotations generierten Klassen seit dem update auf ADT-22
Ich bin. Gibt es irgendein Problem?
Nein, ich habe nur Gläser in
libs
Ordner.möglich, Duplikat der ClassNotFoundException auf AndroidAnnotations generierten Klassen seit dem update auf ADT-22
InformationsquelleAutor user2340612 | 2013-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen werde Projekt -> Eigenschaften -> Java Build Path -- > Um & Export und sorgen Android Private Libraries geprüft für Ihr Projekt und für alle anderen library-Projekte, die Sie verwenden. Reinigen Sie alle Projekte und danach sehen, was passiert.
Ich schließe mich @blackbelt Frage. Und gibt es wirklich nirgendwo, dass Google erzählt uns über neue features und wichtige änderungen in der ADT-Versionen? ADT-22 wurde noch nicht der totale Alptraum, ADT 20 war, aber warum erzählen Sie uns über wichtige änderungen mindestens? Das ADT-Plug-in-Seite ist, wo ich erwartet hätte, um es zu finden.
Das ist Super, dass die top-Ingenieure in der Welt (Google) bringen die updates brechen Zeug. Sorry kann nicht helfen, Gefühl, snarky. Wäre verloren ohne stack.
Stunden auf diesem. Sie sind Leben Sparer.
>_< das zweite mal, wenn ich f***** von diesem Ding.
InformationsquelleAutor Krauxe
Ich weiß ich bin sehr spät um auf einen Beitrag zu Antworten, klicken Sie hier. Die Problemumgehung erwähnt Krauxe hat mir nicht helfen. Mein Projekt hat zwei Bibliotheksprojekte und zwei Gläser. Ich habe eine Lösung gefunden geschrieben von "laaptu" in die Seite Bibliotheken nicht Hinzugefügt APK nicht mehr nach upgrade auf ADT 22.
InformationsquelleAutor Vysakh Prem
Habe ich das Eclipse-ADT-bundle und zusätzlich zu den @Krauxe Antwort, die Aktualisierung der Eclipse .Projekt-Datei, wie unten bei mir funktioniert:
InformationsquelleAutor jaxvy
Wenn Sie mit Maven-plugin in Ihrem Projekt "Maven -> Maven-Update..." können dazu führen, die gleichen problem, die ClassNotFoundException. Wie Sie wissen, werden die Standard-Klassen Ausgabe-Ordner sein sollte /bin/Klassen, die angegeben ist .classpath-Datei und Eclipse Build Path. Aber sobald Sie das tun "Maven->Maven-Update..." die Ausgabe-Ordner eingestellt werden würde als "target/classes". Sie finden es(output="target/classes").classpath Datei.
.classpath-Datei:
Wie dieses problem zu beheben, bitte geben Sie explizit die Klassen Ausgabe-Ordner "bin/Klassen" in pom.xml Datei.
pom.xml Datei:
InformationsquelleAutor Richard