Take the 2-minute tour ×

I'm using


and latest sdk , I'm targeting Android 2.2 cygwin 1.79 the example is compiling fine - both the java and c parts.

however when i try to run it from within eclipse I got this error in the 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
share|improve this question

2 Answers 2

up vote 1 down vote accepted

From your log file: Native ABI mismatch from package file

I think this means that you're package and platform ar mismatched.

Do a google search for this - there seems to be some lots of info out there.

share|improve this answer
Hi there , thanks for your replay. i know i google it to much info as result. what is MIPS? mybe the NDK i downloaded is wrong , i didn't download it from the Google site. –  user63898 Jan 1 '12 at 5:53
MIPS is a computer architecture –  Preet Sangha Jan 1 '12 at 6:04
Like I said above :) Most Android devices are "ARM"; most PC's are "x86". Java makes these distinctions transparent; NDK means that you have to worry about them. Your log clearly indicates you're mixing/matching the wrong ones. –  paulsm4 Jan 1 '12 at 7:23

NDK references a specific version of the armeabi. It sounds like an object file and/or CPU architecture mismatch.

PS: As I'm sure you know, x86 (most development PCs), ARM (most android devices) and MIPS are three completely different architectures. I suspect you might be mixing/matching them incorrectly.

share|improve this answer

Your Answer


