Ich möchte mir an dieser Stelle ein bisschen Luft machen über die Unsäglichkeit des App Exportes via Eclipse.
Mein Projekt, das gerade in einer Betaphase steckt, wird über den Google Play Store vertrieben und benutzt zwei Komponenten, die in C geschrieben und über das Java Native Interface mit dem UI verbunden sind.
Beta #1 – alles läuft
Beta #2 - UnsatisfiedLinkError auf einigen Geräten
Lange Rede gar kein Sinn: 'einige Geräte' waren alle ARMv7 Varianten, also ungefähr alles so ab Galaxy SIII abwärts…
Da ich hier einerseits viele ARMv7a Geräte habe und andererseits natürlich auf allen möglichen Geräten das Debug-Build teste, ist mir dieser lustige kleine Fauxpax natürlich auch gar nicht aufgefallen.
Ende vom Lied: der lustige Eclipse Exporter packt in mir völlig unerklärlichen Anwandlungen nicht immer alle aus dem Native Development Kit gebauten Libs mit in seine resultierende App.
Das hatte in dem Fall zufolge, dass eine der zwei Bibliotheken nur für ARMv7 (Unterordner libs/armeabi/) fehlte. Dementsprechend konnte die auf dem Gerät natürlich bei Programmstart auch nicht geladen werden.
Also, wenn ihr mit dem NDK und Eclipse entwickelt:
immer schön die Augen aufhalten, ob auch wirklich alle eure kompilierten Bibliotheken ihren Weg in das fertige APK gefunden haben.
Damit erspart ihr euch sicherlich mindestens zwei Stunden Herumgesuche.