2012-01-01 42 views
1

我使用本土ABI不匹配:用NDK HelloJni樣品

android-mips-ndk-r5b-windows 

和最新的SDK,我針對Android 2.2的 cygwin的1.79 的例子中,編譯精 - Java和c部分。

然而,當我嘗試從Eclipse中運行它,我得到這個錯誤在logcat中:

12-31 18:28:41.523: D/PackageManager(73): Scanning package com.example.hellojni 
12-31 18:28:41.564: I/PackageManager(73): /data/app/com.example.hellojni-1.apk changed; unpacking 
12-31 18:28:41.582: W/PackageManager(73): Native ABI mismatch from package file 
12-31 18:28:41.593: W/PackageManager(73): Package couldn't be installed in /data/app/com.example.hellojni-1.apk 
12-31 18:28:41.753: D/dalvikvm(73): GC_EXPLICIT freed 3368 objects/192440 bytes in 149ms 
12-31 18:28:41.953: I/ActivityManager(73): Start proc com.android.quicksearchbox for broadcast com.android.quicksearchbox/.SearchWidgetProvider: pid=252 uid=10012 gids={3003} 
12-31 18:28:42.103: D/AndroidRuntime(122): Shutting down VM 
12-31 18:28:42.113: D/jdwp(122): adbd disconnected 
12-31 18:28:42.153: I/AndroidRuntime(122): NOTE: attach of thread 'Binder Thread #3' failed 
12-31 18:28:42.872: I/ActivityThread(252): Publishing provider com.android.quicksearchbox.google: com.android.quicksearchbox.google.GoogleSuggestionProvider 
12-31 18:28:43.084: I/ActivityManager(73): Start proc com.android.music for broadcast com.android.music/.MediaAppWidgetProvider: pid=262 uid=10022 gids={3003, 1015} 
12-31 18:28:44.583: D/dalvikvm(136): GC_EXTERNAL_ALLOC freed 3605 objects/199344 bytes in 119ms 
12-31 18:28:44.753: I/Launcher.Model(136): not binding apps: no Launcher activity 
12-31 18:28:44.933: D/dalvikvm(136): GC_EXPLICIT freed 1326 objects/66128 bytes in 177ms 
12-31 18:28:47.227: D/dalvikvm(136): GC_EXPLICIT freed 9960 objects/486072 bytes in 203ms 

回答

1

從你的日誌文件:本土ABI不匹配從包文件

我認爲這意味着你的軟件包和平臺不匹配。

做一個谷歌搜索 - 這裏似乎有很多信息。

+0

嗨,謝謝你的回放。我知道我谷歌它作爲結果很多信息。什麼是MIPS? mybe我下載的NDK是錯誤的,我沒有從谷歌網站下載它。 – user63898 2012-01-01 05:53:57

+0

MIPS是一個計算機架構 – 2012-01-01 06:04:41

+0

就像我上面說的:)大多數Android設備是「ARM」;大多數PC都是「x86」。 Java使這些區別透明; NDK意味着你*有*擔心他們。你的日誌清楚地表明你在混合/匹配錯誤的日誌。 – paulsm4 2012-01-01 07:23:03

0

NDK引用了armeabi的特定版本。這聽起來像一個目標文件和/或CPU體系結構不匹配。我知道,x86(大多數開發PC),ARM(大多數Android設備)和MIPS是三種完全不同的體系結構。我懷疑你可能會錯誤地混合/匹配它們。