Autore Topic: Interruzione imprevista dell'applicazione  (Letto 3409 volte)

Offline harlandraka94

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Carrefour CT704
  • Sistema operativo:
    Windows 7, purtroppo.
Interruzione imprevista dell'applicazione
« il: 04 Gennaio 2012, 12:00:27 CET »
0
Salve a tutti, sono nuovo del forum.
Ho inziato da poco a programmare per android senza troppi problemi perchè ho 5 anni di java alle spalle e me la cavicchio... Il mio problema è che, sviluppando le applicazioni, sull'emulatore vanno senza problemi, mentre sul mio tablet non partono, ovvero vengono installate senza errori e appena le apro viene fuori l'errore "Interruzione imprevista dell'applicazione(processo Android.newTest)"... la prima applicazione che ho fatto era un semplicissimo helloandroid e funzionava anche sul tablet, ma questa no, qui c'è il codice:
http://www.free-svgz.com/code/code.htm
(la funzione scaleComponents non viene mai richiamata)
Qualche idea su quale possa essere il problema? Ah, poi esiste un modo per avere più dettagli sui crash delle app? perchè android si limita a visualizzare quel messaggio di errore ma non specifica COSA non ha funzionato...
Dimenticavo, per programmare uso NetBeans con plugin nbandroid, ma non credo che il problema sia l'IDE, perchè come ho detto l'applicazione "helloandroid" funzionava perfettamente ed era sviluppata sempre sotto NetBeans...
Grazie in anticipo, ciao!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Interruzione imprevista dell'applicazione
« Risposta #1 il: 04 Gennaio 2012, 12:13:52 CET »
0
Qualche idea su quale possa essere il problema? Ah, poi esiste un modo per avere più dettagli sui crash delle app? perchè android si limita a visualizzare quel messaggio di errore ma non specifica COSA non ha funzionato...

Esiste e si chiama Logcat ;)

Offline harlandraka94

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Carrefour CT704
  • Sistema operativo:
    Windows 7, purtroppo.
Re:Interruzione imprevista dell'applicazione
« Risposta #2 il: 04 Gennaio 2012, 12:44:11 CET »
0
Esiste e si chiama Logcat ;)

Oh bene dove lo posso trovare? D:

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Interruzione imprevista dell'applicazione
« Risposta #3 il: 04 Gennaio 2012, 12:47:31 CET »
0
Con il plugin di netbeans non so come funziona.
Puoi comunque utilizzare il tools "ddms" presente nell'sdk, lo trovi nella sottocartella tools.

Qui è scritto tutto:

Using DDMS | Android Developers

Offline harlandraka94

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Carrefour CT704
  • Sistema operativo:
    Windows 7, purtroppo.
Re:Interruzione imprevista dell'applicazione
« Risposta #4 il: 04 Gennaio 2012, 13:01:08 CET »
0
Con il plugin di netbeans non so come funziona.
Puoi comunque utilizzare il tools "ddms" presente nell'sdk, lo trovi nella sottocartella tools.

Qui è scritto tutto:

Using DDMS | Android Developers

Questo è il log relativo all'app:

Codice: [Seleziona]
01-04 03:56:54.438 I/PackageParser(1097): Android.newTest: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
01-04 03:56:56.638 I/PackageParser(86): Android.newTest: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
01-04 03:56:56.788 D/PackageManager(86): Scanning package Android.newTest
01-04 03:56:56.818 I/PackageManager(86): /data/app/Android.newTest-1.apk changed; unpacking
01-04 03:56:56.848 D/installd(66): DexInv: --- BEGIN '/data/app/Android.newTest-1.apk' ---
01-04 03:56:56.908 D/installd(66): DexInv: --- END '/data/app/Android.newTest-1.apk' (success) ---
01-04 03:56:56.908 D/PackageManager(86):   Activities: Android.newTest.MainActivity
01-04 03:56:56.908 I/ActivityManager(86): Force stopping package Android.newTest uid=10055
01-04 03:56:57.188 I/installd(66): move /data/dalvik-cache/data@app@Android.newTest-1.apk@classes.dex -> /data/dalvik-cache/data@app@Android.newTest-1.apk@classes.dex
01-04 03:56:57.188 D/PackageManager(86): New package installed in /data/app/Android.newTest-1.apk
01-04 03:56:58.178 D/vending (278): [76] LocalAssetCache.updateOnePackage(): No local info for Android.newTest
01-04 03:57:00.748 I/ActivityManager(86): Starting activity: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=Android.newTest/.MainActivity }
01-04 03:57:00.798 I/ActivityManager(86): Start proc Android.newTest for activity Android.newTest/.MainActivity: pid=1114 uid=10055 gids={1015}
01-04 03:57:00.948 I/dalvikvm(1114): Could not find method android.widget.TextView.setX, referenced from method Android.newTest.MainActivity.onCreate
01-04 03:57:00.948 D/dalvikvm(1114): VFY: dead code 0x0015-0058 in LAndroid/newTest/MainActivity;.onCreate (Landroid/os/Bundle;)V
01-04 03:57:00.968 E/AndroidRuntime(1114):         at Android.newTest.MainActivity.onCreate(MainActivity.java:22)
01-04 03:57:00.978 W/ActivityManager(86):   Force finishing activity Android.newTest/.MainActivity
01-04 03:57:01.498 W/ActivityManager(86): Activity pause timeout for HistoryRecord{46045ed8 Android.newTest/.MainActivity}
01-04 03:57:03.918 I/ActivityManager(86): Process Android.newTest (pid 1114) has died.
01-04 03:57:11.638 W/ActivityManager(86): Activity destroy timeout for HistoryRecord{46045ed8 Android.newTest/.MainActivity}

----------------------------
edit 04/01/12, 14.07

Mi sorge un dubbio, può essere che io abbia un firmware troppo vecchio? il logcat dice
Codice: [Seleziona]
01-04 03:57:00.948 I/dalvikvm(1114): Could not find method android.widget.TextView.setX, referenced from method Android.newTest.MainActivity.onCreate
01-04 03:57:00.948 D/dalvikvm(1114): VFY: dead code 0x0015-0058 in LAndroid/newTest/MainActivity;.onCreate (Landroid/os/Bundle;)V
01-04 03:57:00.968 E/AndroidRuntime(1114):         at Android.newTest.MainActivity.onCreate(MainActivity.java:22)

ho guardato nelle API di android, e il metodo setX() per la TextView esiste. Io ho android Froyo 2.2.1, possibile che questo metodo sia stato introdotto in  una versione successiva di android?
« Ultima modifica: 04 Gennaio 2012, 14:09:57 CET da harlandraka94 »

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Interruzione imprevista dell'applicazione
« Risposta #5 il: 04 Gennaio 2012, 14:27:31 CET »
0
E' come dici. Guardando la documentazione, il metodo setX() è stato inserito a partire dall'api 11 (honeycomb). :)

Offline harlandraka94

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Carrefour CT704
  • Sistema operativo:
    Windows 7, purtroppo.
Re:Interruzione imprevista dell'applicazione
« Risposta #6 il: 04 Gennaio 2012, 15:00:00 CET »
0
E' come dici. Guardando la documentazione, il metodo setX() è stato inserito a partire dall'api 11 (honeycomb). :)

Occavolo D: e come posso fare per settare X e Y dei componenti da codice su android 2.2.1?  :-\

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Interruzione imprevista dell'applicazione
« Risposta #7 il: 04 Gennaio 2012, 17:27:33 CET »
0
Credo non sia proprio possibile se non utilizzando la classe LayoutParams.  :-(
« Ultima modifica: 04 Gennaio 2012, 17:30:34 CET da Verandi »

Offline harlandraka94

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Carrefour CT704
  • Sistema operativo:
    Windows 7, purtroppo.
Re:Interruzione imprevista dell'applicazione
« Risposta #8 il: 04 Gennaio 2012, 19:19:33 CET »
0
Credo non sia proprio possibile se non utilizzando la classe LayoutParams.  :-(

Sai farmi un esempio?