Android: % başlatılamadı faaliyet ClassNotFoundException /
Geçenlerde markete bir uygulama yayınlandı ve şimdi app başladığında muhtemelen doğru çöker bazı kullanıcı tarafından bir hata alıyorum. Onu doğrudan ve uygulaması ulaşamıyorum maalesef benim telefon öykünücüsü olarak (ve arkadaşların telefonları). gayet iyi çalışıyor< / ^ br . EDİT: bu pazar gibi yorumlar aldığım gibi birden fazla kullanıcı olur sanırım "başlangıç çöker" ya da "işe yaramaz". Ben sadece bu stacktrace aldı ama yapılandırma, cihaz, Android sürümü, vs hakkında bilgi yok.
App basit bir ses tahtası, gerçekten sihirli bir ilgisi yok, ama bazı telefonlarda başarısız neden alamıyorum. İşte gidiyorum yığın izleme, kimse bana yardımcı olabilir umuyoruz:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.app/com.my.app.SoundMachine}: java.lang.ClassNotFoundException: com.my.app.SoundMachine in loader dalvik.system.PathClassLoader[/mnt/asec/com.my.app-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.my.app.SoundMachine in loader dalvik.system.PathClassLoader[/mnt/asec/com.my.app-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
... 11 more
Bu benim etkinlikten ilk iki satırı yüksek
public class SoundMachine extends Activity {
private SoundManager mSoundManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EDİT: Bu (neredeyse) tam onCreate
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSoundManager = new SoundManager();
mSoundManager.initSounds(getBaseContext());
int counter = 0;
for (Integer soundFile : soundFiles) {
counter ;
mSoundManager.addSound(counter, soundFile);
}
ImageButton SoundButton1 = (ImageButton) findViewById(R.id.sound1);
SoundButton1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(1);
}
});
SoundButton1.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
saveSoundChoice(soundFiles[0], soundNames[0]);
return true;
}
});
(...more of this...)
Button StopButton = (Button) findViewById(R.id.stopbutton);
StopButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.stopAll();
}
});
}
Ve burada benim bildirim:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.app" android:installLocation="preferExternal"
android:versionCode="9" android:versionName="1.2">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".SoundMachine" android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="8" />
</manifest>
Bazı forumlarda ben zaten burada okuma hataları mümkün ve bu yüzden tüm uygulama için geçerli değil.
- Etkinlik listesi mevcut.
- Süper yöntem geçersiz yöntemi denir.
- Bu ContentView görünümünde öğeleri erişmeden önce ayarlanır.
Sabit çoğaltmak mümkün olmadan bir hata kaynağını belirlemek için olduğunu biliyorum, ama belki birinin aklına parlak bir fikir vardır ve bana yardımcı olabilir.
Bazı sorular vardır
Eğer ihtiyacınız var mı "niyet"bildirim bölümünde? Eclipse proje yarattığımda yarattı. (Evet, Mayra göre)Süper yöntem nerede aranmalıdır? (Evet, Mayra göre)
EDİT: şimdi kalan asıl soru: Nasıl farklı PathClassLoader yolu Paket ismi? John J Smith gönderildi sayfayı aynı sorun ile anlaşma gibi görünüyor, ama orada uygulanan düzeltme anlamıyorum.
Teşekkürler, Select0r
CEVAP
ADT revizyon 22 güncelleme (Mayıs 2013) "Android Özel Kütüphaneler" onay kutusu . kontrol etmelisiniz beri ^em>Proje ->Özellikler ->Java Path - ^ Oluşturun . Sipariş ve İhracatkurtulmak için büyük projeleriniz için Eclipse bu durum ...
Android Etkinliği ClassNotFoundExcepti...
Android: geri önceki faaliyet Git...
Nasıl geçerli ön plan faaliyet (hizmet...
Android - bir düğme widget odağı Ayarl...
Android yeniden faaliyet...