SORU
27 Ocak 2011, PERŞEMBE


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
3 HAZİRAN 2013, PAZARTESİ


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 ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • funbro1

    funbro1

    11 Aralık 2007
  • Noam Erez

    Noam Erez

    3 NİSAN 2012
  • Watcher3223

    Watcher3223

    15 Kasım 2007