Italian APP B4A: perchè non funziona su tutti i device?

Valentino.b

Member
Ciao a tutti

ho sviluppato qualche APP utilizzando le ultime due versioni di B4A (9.80 e 10.5).
Sono applicazioni semplici che non richiedono grant o oggetti particolari (oggetto OkHttpUtils2 e oggetto JavaObject, oltre all'oggetto Core di default).
Tutto standard.

Dopo aver compilato il "pacchetto" APK, lo provo sui device che ho a disposizione:
- WIKO con Android 8
- HUAWEI con Adroid 9
- XIAOMI con Android 10
e non solo non ho dei crash ma tutto si comporta esattamente come mi attendo.

Il mio Android.jar è "android-28".

Nel mio MANIFEST lascio le impostazioni di default, ovvero
  • minSdkVersion="5" (Android 2.0)
  • targetSdkVersion="16" (Android 4.1.x)
senza impostare il maxSdkVersion.


Se chiedo ad altre persone di provare il mio APK ricevo invece i feedback più diversi, non solo per quanto riguarda
i permessi di installare un APK da fonti non "ufficiali" (problema facilmente risolvibile) ma per quanto riguarda
crash o applicazione che si chiude all'avvio.

Ho provato ad "alzare" i livelli di SDK attesi (ora ho
  • minSdkVersion="19" (Android 4.4)
  • targetSdkVersion="28" (Android 9)
ma il problema non si risolve e comunque sui miei 3 smartphone con 3 versioni diverse di Android a bordo, tutto continua a funzionare tranquillamente.

Cosa mi sfugge?
 

LucaMs

Expert
Licensed User
Longtime User
Cosa mi sfugge?
Ti sfugge che non abbiamo la sfera di cristallo :)
Senza messaggi d'errore è impossibile capirlo.

Fai bene ad impostare il target su 28 (se vorrai pubblicare su Google Play dovrai portarlo a 29). Il minimo non alzarlo, visto che sui tuoi dispositivi funziona senza problemi.

Prova a seguire questo tutorial. Fai in modo che l'app, in caso di errore imprevisto, ti invii un'email col messaggio d'errore (ovviamente l'utente dovrà dare il proprio consenso all'invio).
 

Valentino.b

Member
Io ho gia' previsto qualche minimo scambio di LOG all'avvio ma il problema e' che
l'APP non si avvia (quindi non ricevo nulla) oppure va in crash all'avvio (evidentemente prima della
mia funzione "TestInternetConnection") e quindi a me non arriva nulla.

So solo che uno degli utilizzatori ha un Samsung ma non credo che siano cosi' diversi a livello di Android.
 

Valentino.b

Member
Visto che l'invio di una email è sicuramente vincolato alla cencessione di permessi che vorrei evitare,
e visto che uno degli errori potrebbe essere proprio la mancanca di connessione internet,
secondo te è possibile limitare la gestione degli errori alla visualizzazione di un dettaglio che sara'
poi l'utente a mandarmi come meglio crede? (via email, whatapp, ....)
 

Sagenut

Expert
Licensed User
Longtime User
visto che uno degli errori potrebbe essere proprio la mancanca di connessione internet,
Hai provato ad eseguire la tua app in Debug senza connessione internet sui tuoi dispositivi?
 

Valentino.b

Member
Si. L'errore viene intercettato, viene mostrato un "toast message" e l'APP la chiudo.
Ma non mi segnalano la presenza di questo messaggio. Ne' di altri.
 

Star-Dust

Expert
Licensed User
Longtime User
Io ho gia' previsto qualche minimo scambio di LOG all'avvio ma il problema e' che
l'APP non si avvia (quindi non ricevo nulla) oppure va in crash all'avvio (evidentemente prima della
mia funzione "TestInternetConnection") e quindi a me non arriva nulla.

So solo che uno degli utilizzatori ha un Samsung ma non credo che siano cosi' diversi a livello di Android.
Succede qualcosa all'inizio. Mostraci un pò di codice.

Anche se non parte puoi gestire i log dal servizio Starter.
 

Star-Dust

Expert
Licensed User
Longtime User
Si
 

Star-Dust

Expert
Licensed User
Longtime User
C'è qualche esempio sulla gestione dei LOG a seguito del crash?



@Star-Dust se uno dei problemi fosse l'assenza di connessione a internet, non sarebbe risolutivo.
invierebbe l'email al ritorno della connessione
 
Top