2012-01-01 32 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是三种完全不同的体系结构。我怀疑你可能会错误地混合/匹配它们。