2013-04-11 23 views
38

我已經看到一些關於這個問題,但沒有真正的答案和細節。這裏是我的情況:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE使用intellij的設備

我有一個應用程序,它使用Google Maps API v2工作得很好。最近我發現我不能在this上安裝它,而不是基於ARM的設備。

爲了明確我與提供的SDK谷歌地圖樣本工作問題(\ SDK \演員\谷歌\ google_play_services \樣品)

這使我在安裝時相同的錯誤信息:

Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]

我得到這個消息僅在使用的IntelliJ在真實設備上(12.1.1)

它真實設備使用Eclipse和使用的IntelliJ工作正常上配置W上的模擬器ith CPU:Intel Atom(x86)

任何幫助將不勝感激!

UPDATE

正如預期的那樣,同樣的事情發生了Android工作室

+0

是否有任何本機庫在' libs'文件夾與您的應用程序打包在一起,可能與目標架構不兼容? – CrazyCoder 2013-04-12 11:28:11

+0

@CrazyCoder沒有。除此之外,我試圖僅使用來自Google的示例代碼進行工作,我不相信這是平臺特定的。 – Androiderson 2013-04-12 12:17:58

+0

@FuegoFro可以幫助您在Android Studio 1.2.2中找到此功能嗎? – Wishmaster 2015-06-15 15:16:36

回答

104

默認情況下,的IntelliJ假定在Android模塊的根libs文件夾包含本地庫,即使它只是持有罐子。因此,它使APK看起來像是本地庫。我剛剛遇到了一個類似的問題,那就是我的應用程序沒有本機代碼,可以在默認模擬器上工作,但在Genymotion仿真器上安裝時遇到了ABI警告。要解決這個問題,請告訴IntelliJ(或Android Studio)您的庫不是本機代碼:

  1. 打開File -> Project Structure
  2. 點擊窗口左側的Modules
  3. 對於每個Android模塊,展開下拉菜單並選擇Android子項目。
  4. 在右側的Structure選項卡中,刪除Native libs directory字段的內容(可以保留空白)。
  5. 一旦您爲項目中的每個Android模塊完成了這項工作並應用了更改,您可能需要重建項目以進行更改,方法是從IntelliJ的全局菜單中選擇Build -> Rebuild Project
+0

我認爲這是IntelliJ中的一個錯誤,因爲它假定您的項目中有本地庫。我還沒有找到關於這個主題的開放票,所以我會創建一個。 – kierans 2013-11-25 23:50:53

+3

先生,你的答案值得比得票多得多,爲什麼不接受?!謝謝! – 2013-12-01 21:36:33

+1

同意@DaleCooper - 這是答案。偉大的東西FuegoFro快速解決了我的問題。 – 2013-12-02 21:07:52