我有一个示例apk,当安装在两个同时具有Gingerbread v2.3.6的Android设备上时,应用程序的行为是不同的。在一个设备中,apk完美运行。但在其他设备中,应用程序无法启动。
错误日志是:
E/AndroidRuntime( 5021): FATAL EXCEPTION: main
E/AndroidRuntime( 5021): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hello.sample/com.hello.sample.HelloActivity}: java.lang.IllegalArgumentException: Unable to load native library: /data/data/com.hello.sample/lib/libhello.so
我检查了设备目录,libhello.so位于/data/data/com.hello.sample/lib文件夹中。另外,我试图将libhello.so放在system / lib中。然后,当我点击应用程序的图标时,我也遇到了同样的错误。我已经解压缩了apk,只在lib文件夹中看到了libhello.so。如何解决这个问题?有可能在android / framework中做任何事情来解决这个问题吗?我不想更改apk的源代码,因为它在其他设备上工作。
答案 0 :(得分:0)
系统映像有四种类型:
<强> armeabi armeabi-V7A MIPS 86 强>
使用本机sdk pls为所有四种类型构建编译.so文件
某些设备系统图像不同
还有一件事...... 在较低版本的手机中:
Library文件夹名为lib
最新版本
Library文件夹名为libs
查看此编辑答案