【问题标题】:Pure NativeActivity: Unable to start activity; Unable to load native library纯 NativeActivity:无法启动活动;无法加载本机库
【发布时间】:2019-05-20 13:12:51
【问题描述】:

APK 启动后,我收到此错误:

E AndroidRuntime: java.lang.RuntimeException: 无法启动活动 组件信息{com.engine001.test/android.app.NativeActivity}: java.lang.IllegalArgumentException:无法加载本机库: /data/app/com.myapp.test-2/lib/arm/libLauncher.so

即使是最基本的 NDK 应用程序似乎也有这个问题,即使没有链接到其他 .so。使用最新的 Tegra/NDK/etc... 工具。

在我升级系统和更新工具之前,整个系统运行良好。

编辑:我尝试安装以前使用的工具版本(ndk r12b)。我还尝试从字面上复制我的旧 NVPACK 并将其重新设置为无济于事。

我不确定要包括什么。这是一个目前正在使用的非常大的项目。

我无法包含实际的 Java 代码,因为我修改了 APK,如果生成了 DEX 文件,则无法包含实际的 Java 代码,而这正是 Java 所需要的。所以要清楚,使用纯 NativeActivity。

【问题讨论】:

  • 您确定 apk 确实包含该库吗?
  • 是的! apk 中的文件看起来不错。但我不熟悉确保 .so 文件正确的方法。
  • 您当前的工具版本是多少?
  • 我猜是NDK的问题。您可以尝试降级到旧版本,看看是否能解决问题
  • 我修改了问题以包括 ndk r12b 并提到我也尝试过回到那个版本。

标签: android c++ android-ndk tegra native-activity


【解决方案1】:

无法加载本机库:/data/app/com.myapp.test-2/lib/arm/libLauncher.so

较新的 NDK 不再支持此路径。您需要确保您的 ABI 为 x86x86_64armeabi-v7aarm64-v8a。即路径应该如下所示:

/data/app/com.myapp.test-2/lib/arm64-v8a/libLauncher.so

【讨论】:

  • 是的,我也注意到了这一点,但想知道系统是否正在映射它或其他什么。如果是这种情况并且它找不到它,并且考虑到我正在使用 Tegra 的工具,你知道它可以从哪里获得这条路径吗? (只是想我可以对其进行文件搜索,但找到它会让我感到惊讶哈。)
猜你喜欢
  • 2013-01-24
  • 2013-08-06
  • 2019-04-03
  • 2013-09-06
  • 2015-03-01
  • 2021-04-03
  • 2020-03-16
  • 2016-11-27
  • 2021-10-05
相关资源
最近更新 更多