Android Etkinliği ClassNotFoundException - her şeyi denedim
Sadece çerçeve bir kütüphane içine bir uygulama ve bir uygulama refactored. ama artık çalışıyorum ve öykünücüsü uygulamayı başlatmak zaman, ben aşağıdaki hatayı yığın izleme:
06-02 18:22:35.529: E/AndroidRuntime(586): FATAL EXCEPTION: main
06-02 18:22:35.529: E/AndroidRuntime(586): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.matthewrathbone.eastersays/com.matthewrathbone.eastersays.EasterSimonSaysActivity}: java.lang.ClassNotFoundException: com.matthewrathbone.eastersays.EasterSimonSaysActivity in loader dalvik.system.PathClassLoader[/data/app/com.matthewrathbone.eastersays-1.apk]
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.os.Handler.dispatchMessage(Handler.java:99)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.os.Looper.loop(Looper.java:123)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-02 18:22:35.529: E/AndroidRuntime(586): at java.lang.reflect.Method.invokeNative(Native Method)
06-02 18:22:35.529: E/AndroidRuntime(586): at java.lang.reflect.Method.invoke(Method.java:521)
06-02 18:22:35.529: E/AndroidRuntime(586): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-02 18:22:35.529: E/AndroidRuntime(586): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-02 18:22:35.529: E/AndroidRuntime(586): at dalvik.system.NativeStart.main(Native Method)
06-02 18:22:35.529: E/AndroidRuntime(586): Caused by: java.lang.ClassNotFoundException: com.matthewrathbone.eastersays.EasterSimonSaysActivity in loader dalvik.system.PathClassLoader[/data/app/com.matthewrathbone.eastersays-1.apk]
06-02 18:22:35.529: E/AndroidRuntime(586): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
06-02 18:22:35.529: E/AndroidRuntime(586): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
06-02 18:22:35.529: E/AndroidRuntime(586): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
06-02 18:22:35.529: E/AndroidRuntime(586): ... 11 more
Genellikle bu bildirim dosyası bir şekilde yanlış olduğu anlamına gelir, ama çift aklıma gelen her şeyi kontrol ettim.
İşte benim etkinlik sınıf:
package com.matthewrathbone.eastersays;
import android.os.Bundle;
import com.rathboma.simonsays.Assets.Season;
import com.rathboma.simonsays.SeasonPicker;
import com.rathboma.simonsays.SimonSaysActivity;
public class EasterSimonSaysActivity extends SimonSaysActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
public SeasonPicker getSeasonPicker() {
return new SeasonPicker(){
@Override
public Season getSeason() {
// TODO Auto-generated method stub
return Season.EASTER;
}
};
}
}
Gördüğünüz gibi, doğru bildirimde listelenmiştir
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.matthewrathbone.eastersays"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".EasterSimonSaysActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Bunu düzeltmek için nasıl hiçbir fikrim yok, ve herhangi bir yardım seviniriz. Bu özel davranış görmeden bu KADAR çok benzer soruları taradım.
Daha fazla bilgi:
- Oluşturulan MUAYENE ve sınıf bir girişi vardır içini kontrol ettim sınıflar.dosya dex
- Proje binası temizlik çalıştım eclipse
- Yok tamamen yeni bir aygıt görüntü kullanarak denedim bu MUAYENE bir kopyasını zaten
- İçine kütüphane projesi değiştirdim normal bir java, android projesi sonra tekrar değişti, hayır fark
- Soyut SimonSaysActivity bildirim ekleme hiç fark etmez.
- Her bağımlılık android kitaplık bir proje yapmayı denedim, ve onlar gerektiren android sürümü senkronizasyon, yardım etmedi
Bulunan çözüm (aşağıya bakınız). Sen rock, sorunları ile çalışmama yardımcı olduğunuz için teşekkürler! yorum / cevap yazan herkese:
Bu gibi görünüyor SDK araçları yükseltme tarafından kullanılmaya başlandı. Teşekkürler @Nick bu bağlantı için aşağıdaki yorum: http://iqadd.com/item/noclassdeffounderror-adt-fix
CEVAP
Geçirdim biraz zaman oynamak ile kendi projemi, ve ben mümkün çoğaltmak senin sorunun ve aynı özel durum yığın izlemesi zaman kafanı kullan benim ana proje, bence bu olabilir nedeni:
Tıpkı düşündüğüm gibi, sen Android ana projede Android kütüphane projeniz başvuru hakkında her şey, basit bir Eclipse yapılandırma ayarları.
Yanlış Yol:
Sağ tıklayın ana proje, seçin Android ana proje bağımlılık bir yol inşa projesi olarak Android kütüphane Projesi eklemek Properties -> Java Build Path -> Projects -> Add...
, Bu çalışmıyor. Eğer Android ile ilgili gerekli tüm kaynakları ana proje tanımlanmamışsa, derleme zamanında herhangi bir hata almazsınız, ancak uygulama çalıştırdığınızda, özel durum söz konusu nitelendirdi.
Doğru Yol:
Sağ tıklayın ana proje, Properties -> Android
Kütüphane bölümünde, Android kütüphane projeniz burada eklemek seçin. Referencing a library project kılavuz resmi dev bir bak. Bu sorunu düzeltmek gerekir. Ayrıca göreli yol başvuru Library Project - Development considerations belirtildiği gibi gerçek bir Android Kütüphanesi projesi, kullanmak zorunda unutmayın.
Bu yardımcı olur umarım.
Android hafıza sorunları dışında uygul...
Bir iletişim olarak Android Etkinliği...
android hizmetinden etkinliği başlatma...
Android: launchMode=" hata;singleT...
İletişim olarak Android etkinliği, ama...