Autore Topic: Errore Unable to instantiate activity  (Letto 1022 volte)

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Errore Unable to instantiate activity
« il: 20 Gennaio 2012, 19:40:57 CET »
0
in locale e sul mio dispositivo non riesco a riprodurre e l'errore e soprattutto non riesco a scoprire la riga in cui accade.

Temo però che il tutto sia nato dal momento in cui ho aggiunto nel manifest la riga:
Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
e nel codice:
Codice (Java): [Seleziona]
File dir = new File(Environment.getExternalStorageDirectory() + "/fantamercato/");
dir.mkdirs();

questo è il logcat che vedo dalla console sviluppatori:
Codice: [Seleziona]
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.dessorry.fantamercato/com.dessorry.fantamercato.FantaMercato}: java.lang.ClassNotFoundException: com.dessorry.fantamercato.FantaMercato
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
at android.app.ActivityThread.access$600(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.dessorry.fantamercato.FantaMercato
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1870)

grazie

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Errore Unable to instantiate activity
« Risposta #1 il: 20 Gennaio 2012, 20:31:35 CET »
0
Hai aggiunto parametri al costruttore dellì'activity?

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Errore Unable to instantiate activity
« Risposta #2 il: 20 Gennaio 2012, 20:33:36 CET »
0
No, che parametri avrei dovuto aggiungere?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Errore Unable to instantiate activity
« Risposta #3 il: 20 Gennaio 2012, 20:48:08 CET »
0
No, che parametri avrei dovuto aggiungere?

No beh chiedevo.
Di solito quando da un'eccezione del genere è perchè ci sono problemi con il costruttore.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Errore Unable to instantiate activity
« Risposta #4 il: 20 Gennaio 2012, 21:46:21 CET »
0
Può essere che tu non abbia dichiarato l'activity nel manifest? Anche se credo che l'errore in quel caso sarebbe dovuto essere di Activity not found.  ;-)

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Errore Unable to instantiate activity
« Risposta #5 il: 20 Gennaio 2012, 21:48:04 CET »
0
l'Activity che muore è la mainactivity!

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Errore Unable to instantiate activity
« Risposta #6 il: 20 Gennaio 2012, 22:02:24 CET »
0
Puoi postarci il codice del tuo manifest?

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Errore Unable to instantiate activity
« Risposta #7 il: 20 Gennaio 2012, 22:05:04 CET »
0
Ripeto: l'errore sta nel write_external_storage
poichè l'app è stata sul market per un anno senza mai generare quella eccezione.

Io sapevo che ogni dispositivo Android ha una sd, ci sono dei casi di dispositivo con room particolari che possono non averla?

Ad ogni modo il manifest è questo:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.dessorry.fantamercato"
     android:versionCode="20"
     android:versionName="2.51">
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="FantaMercato" 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>
        <activity android:name="ListaGiocatori" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"/>
        <activity android:name="PlayerActivity" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"/>
        <activity android:name="Giocatore" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
« Ultima modifica: 20 Gennaio 2012, 22:06:42 CET da dessorry »

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Errore Unable to instantiate activity
« Risposta #8 il: 20 Gennaio 2012, 22:25:33 CET »
0
Il manifest sembra a posto. L'errore non può essere nel write external storage in quanto, anche se non la scheda sd non fosse presente, nel logcat avresti un errore di i/o. Invece l'errore del logcat che hai postato è:
Citazione
Caused by: java.lang.ClassNotFoundException: com.dessorry.fantamercato.FantaMercato
, ovvero non riesce a trovare la classe FantaMercato nel pacchetto com.desorry.fantamercato.
Potrebbe essere che tu abbia cambiato l'indirizzo del pacchetto. Prova a postare il codice di questa classe, partendo dalla primissima riga con package e imports fino alla fine del metodo onCreate.  :-P

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Errore Unable to instantiate activity
« Risposta #9 il: 20 Gennaio 2012, 22:46:31 CET »
0
Ti ringrazio dell'attenzione ma ti ripeto che in locale non muore e nemmeno sul mio dispositivo.
E' un qualcosa che dipende da determinati dispositivi.

Al lancio della mainactivity provo a creare una cartella del programma.

E' possibile che muore se non riesce (per qualsiasi motivo) a scrivere?

Un motivo plausibile per me potrebbe essere quello che magari allo stesso tempo l'sd era in scrittura da un altra app.

Altrimenti non saprei come spiegarmelo.

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Errore Unable to instantiate activity
« Risposta #10 il: 20 Gennaio 2012, 23:00:23 CET »
0
Come ti ha detto Verandi  ClassNotFoundException non ha nulla a che vedere con la sd.

Considera  che molti utenti usano mods non ufficiali e vanno a toccare cose che non dovrebbero...