Android-приложение не запускается на Armv6 - Невозможно найти нативную библиотеку

Я не могу найти ответ на проблему.

Я разработал приложение для Android, доступное на рынке. Пока что несколько человек купили его, и он работает, но один клиент получил эту ошибку:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.esenthel.rts/android.app.NativeActivity}: java.lang.IllegalArgumentException: Unable to find native library: Project
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
 at android.app.ActivityThread.access$1500(ActivityThread.java:117)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:130)
 at android.app.ActivityThread.main(ActivityThread.java:3687)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:507)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
 at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Unable to find native library: Project
 at android.app.NativeActivity.onCreate(NativeActivity.java:187)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)

Похоже, что файл приложения не был найден "Невозможно найти собственную библиотеку: проект"

Клиент говорит, что у него процессор ARMV6. Я скомпилировал приложение для ARM5 и ARM7. При просмотре файла APK я могу подтвердить, что у меня есть эти файлы:

lib/armeabi/libProject.so
lib/armeabi-v7a/libProject.so

Приложение было разработано с использованием последней версии Android NDK SDK, внутри нет Java-кода, только C++. Построен вручную с использованием Ant (без затмения)

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.esenthel.rts" android:versionCode="2" android:versionName="2">
   <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
   <uses-permission android:name="android.permission.INTERNET"/>
   <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
   <uses-feature android:glEsVersion="0x00020000"/>
   <application android:label="Esenthel RTS" android:hasCode="false" android:debuggable="false" android:icon="@drawable/icon">
      <activity android:name="android.app.NativeActivity" android:label="Esenthel RTS" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:screenOrientation="fullSensor" android:configChanges="orientation">
         <meta-data android:name="android.app.lib_name" android:value="Project"/>
         <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
         </intent-filter>
      </activity>
   </application>
</manifest>

Данное приложение находится здесь https://play.google.com/store/apps/details?id=com.esenthel.rts

Повторюсь, приложение работает на ARM7 - Asus Transformer Prime, HTC Evo 3D, Sony Ericsson Xperia Neo, Samsung Galaxy Tab 10.1.

Но не запускается на неизвестном процессоре ARM6

1 ответ

Решение

Проблема заключалась в "нехватке внутренней памяти" на клиентском устройстве, после того как он освободил место, приложение начало работать.

Другие вопросы по тегам