2013-04-11 19 views
38

Ho visto alcune domande al riguardo, ma nessuna con risposte o dettagli reali. Ecco il mio caso:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE sul dispositivo utilizzando intellij

Ho un'applicazione che utilizza l'API di Google Maps v2 che funziona perfettamente. Recentemente ho scoperto che non riesco a installarlo su this dispositivo non basato su ARM.

Per inchiodare il problema che sto lavorando con Google Maps campioni forniti con l'SDK (\ SDK \ extra \ Google \ google_play_services \ campioni)

che mi dà lo stesso messaggio di errore durante l'installazione:

Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]

ottengo questo messaggio solo su un vero e proprio dispositivo utilizzando Intellij (12.1.1)

funziona bene sia con Eclipse sul dispositivo reale e con IntelliJ sull'emulatore configurato w con CPU: Intel Atom (x86)

Qualsiasi aiuto sarebbe molto apprezzato!

UPDATE

Come previsto, la stessa cosa accade con Android Studio

+0

Ci sono delle librerie native nel ' cartella 'libs' che è inclusa nella tua applicazione e potrebbe non essere compatibile con l'architettura di destinazione? – CrazyCoder

+0

@CrazyCoder Nope. Inoltre sto cercando di farlo funzionare utilizzando solo il codice di esempio di Google che non credo sia specifico della piattaforma. – Androiderson

+0

@FuegoFro puoi aiutarmi a trovare questa funzionalità in Android Studio 1.2.2? – Wishmaster

risposta

104

Per impostazione predefinita, IntelliJ presuppone che la cartella libs nella radice di un modulo Android contiene librerie native, anche se solo detiene vasi . Quindi, prepara l'APK facendolo apparire come se fossero librerie native. Ho appena avuto un problema simile in cui la mia applicazione non aveva codice nativo e funzionava con l'emulatore di default, ma ho ricevuto l'avviso ABI durante l'installazione sull'emulatore Genymotion. Per risolvere il problema, comunica a IntelliJ (o Android Studio) che le tue librerie non sono nativi:

  1. Aperto File -> Project Structure.
  2. Fare clic su Modules sul lato sinistro della finestra.
  3. Per ciascun modulo Android, espandere il menu a discesa e selezionare il sottoelemento Android.
  4. Nella scheda Structure a destra, eliminare i contenuti del campo Native libs directory (è possibile lasciare vuoto).
  5. Dopo aver eseguito questa operazione per ciascun modulo Android nel progetto e applicato le modifiche, potrebbe essere necessario ricostruire il progetto affinché le modifiche abbiano luogo scegliendo Build -> Rebuild Project dal menu globale di IntelliJ.
+0

Penso che questo sia un bug in IntelliJ in quanto si presuppone che tu abbia librerie native nel tuo progetto. Non ho trovato un biglietto aperto sull'argomento quindi ne creerò uno. – kierans

+3

Signore, la tua risposta merita molto più che voti positivi, perché non è accettata ?! Grazie! –

+1

Accetto con @DaleCooper - Questa è LA risposta. Grandi cose FuegoFro ha risolto rapidamente il mio problema. –

Problemi correlati