2015-10-24 15 views
6

Ho sviluppato un progetto con Object Pascal utilizzando Firemonkey Framework. Ho pubblicato la mia applicazione su Play Store, quindi ho provato a installare l'applicazione da Play Store ma c'è un messaggio: "questa app non è compatibile con il tuo dispositivo"L'applicazione Android (sviluppata in Firemonkey Delphi) in Play Store non è compatibile con il dispositivo

Ho provato ad installare l'applicazione sui telefoni cellulari (telefoni popolari samsung e sony) da Play Store e installazione manuale -APK File- dal mio Computer. Quando voglio installare da Play Store stessa applicazione con lo stesso file apk e lo stesso keystore e tutti i file, manifest ecc. Sono uguali

Funziona quando installo il mio file apk manualmente. Ma ancora nessun lavoro.

Ho cambiato le autorizzazioni e la telefonia, la videocamera, il cellulare e altre autorizzazioni non selezionate. Sta usando solo la memoria di scrittura e lettura, il bluetooth (il progetto ne ha bisogno) e Internet.

I miei dispositivi mobili sono General Mobile 4G, One, Discovery e Samsung S4, Edge Plus, HTC One M7 e LG G3. Tablet -che non è compatibile con- è Samsung SM-T562

+0

Non ho visto Samsung SM-T562 in Dispositivi supportati della Play Console per sviluppatori. Ma posso eseguire la mia applicazione con l'installazione manuale di APK (con usb o airdroid, ecc.). Come posso eseguire la mia applicazione su tablet Samsung? (download dal Play Store) –

risposta

7

Ho risolto! Il tablet che sto tentando di eseguire la mia applicazione che deve essere installata da Play Store vuole anche accedere a Posizione approssimativa e Accedi a Fine posizione. Questo tablet ha la propria scheda GSM per l'utilizzo di Internet ma è il modulo dati, non il telefono. Questo è il motivo per cui la mia domanda mi ha detto che "L'applicazione non è compatibile".

android.permission.BLUETOOTH 
android.permission.BLUETOOTH_ADMIN 
android.permission.INTERNET 
android.permission.READ_CALENDAR 
android.permission.READ_EXTERNAL_STORAGE 
android.permission.WRITE_CALENDAR 
android.permission.WRITE_EXTERNAL_STORAGE 

La mia applicazione ora richiede queste autorizzazioni e funziona!

2

Mi dispiace. Pensavo che ciò riguardasse l'esecuzione di app FMX su dispositivi Intel. Dal momento che ho già scritto la risposta, potrei anche lasciarlo.

/Pontus

--- Come eseguire le applicazioni Delphi FMX su dispositivi basati su Intel ---

In realtà è molto semplice. Segui questi passaggi e la tua app Delphi FMX funzionerà correttamente sulla maggior parte dei dispositivi Android di base Intel. Il trucco è che quasi tutti i dispositivi basati su Intel hanno qualcosa chiamato lib Houdini che transcodificherà il binario ARM in un binario Intel. Quando crei un'app in Delphi otterrai un APK che contiene i file .so. Uno è per ARM, uno per MIPS e l'ultimo file .so è per Intel. L'unico file .so che contiene il tuo codice è il file ARM .so. Gli altri sono file .so precompilati che mostreranno agli utenti finali che il dispositivo non è compatibile. Se ometti il ​​file .so di Intel dall'APK, la tua app utilizzerà lib Houdini e funziona perfettamente. Questo è se il dispositivo Intel ha installato lib Houdini. Dipende dal produttore del dispositivo da installare, non da te.

Procedura per omettere il file Intel .so dal file APK:

  1. Vai a questa directory e rinominare la cartella per x86 x86.old

C: \ Programmi (x86) \ Embarcadero \ Studio \ 17.0 \ lib \ Android \ debug

  1. fare lo stesso in questa directory

C: \ Programmi (x86) \ Embarcadero \ Studio \ 17.0 \ lib \ Android \ release

(Cambia 17,0-16,0 per XE8 e al 15,0 per XE7 e così via)

La prossima volta che costruire la vostra APK riceverai un avviso che la cartella x86 non esiste, e va bene perché è quello che vogliamo. Ora prova ad installare l'APK sul tuo dispositivo Intel e noterai che funzionerà perfettamente. In caso contrario, sul dispositivo non è installata la libreria Houdini.

L'unica cosa che non funziona è il debug e questo perché Delphi non sa di lib Houdini.

Come bonus il tuo APK diventerà un po 'più piccolo. Se ti piace, puoi fare lo stesso con le cartelle MIPS. Se la lib Houdini non è presente sul dispositivo, l'app si arresterà in modo anomalo.

Ricordarsi di pulire e costruire il progetto prima di testarlo.

C'è un altro modo; In Delphi apri il menu Progetto | Deployment e deseleziona la riga $ (BDS) \ lib \ android \ debug \ x86 \ o $ (BDS) \ lib \ android \ deploy \ x86 \ Con questo metodo dovrai assicurarti di fare questo per tutti i tuoi progetti. Con il primo metodo non dovrai mai più preoccuparti.

Mentre ci sono mi piacerebbe davvero consigliare questo emulatore; https://amiduos.com/ Sono solo 15 €. Lo uso con il mio Dell P2314T e il multitouch funziona perfettamente. È un emulatore basato su Intel, veloce e ha installato lib Houdini.

Felice codifica! /Pontus

+0

Non si tratta solo di eseguire l'app sui dispositivi Intel. Riguarda l'installazione da Play Store. Quando installo la mia app manualmente, funziona. Ma non funziona quando provo ad installare da Play Store. In realtà, mi dice che "questa app non è compatibile con il tuo dispositivo". Ma grazie. Ancora bisogno di aiuto .. –

Problemi correlati