代码之家  ›  专栏  ›  技术社区  ›  Kevin Read

只有arm64-v8a二进制文件的Apk将不会安装

  •  1
  • Kevin Read  · 技术社区  · 7 年前

    我现在已经为arm64-v8a添加了一个构建,无法让设备或模拟器实际执行64位代码。仅包含armv8 LIB的apk不会安装:

    # unzip -v app/build/outputs/apk/debug/app-debug.apk |grep lib
    13863240  Defl:N  4904804  65% 00-00-1980 00:00 7b2e5eef  lib/arm64-v8a/libbgjs.so
       13648  Defl:N     4168  70% 00-00-1980 00:00 2b60e8f9  lib/arm64-v8a/libcrashlytics-envelope.so
      530392  Defl:N   202134  62% 00-00-1980 00:00 2d08ed8e  lib/arm64-v8a/libcrashlytics.so
      149248  Defl:N    59350  60% 00-00-1980 00:00 957899e1  lib/arm64-v8a/libmyrmecophaga.so
      116416  Defl:N    51520  56% 00-00-1980 00:00 73a9138b  lib/arm64-v8a/libunwind-crashlytics.so
    
    # adb install app/build/outputs/apk/debug/app-debug.apk 
    Failed to install app/build/outputs/apk/debug/app-debug.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
    # adb logcat
    09-20 11:40:09.716 3640-3764/? W/NativeHelper: Failure copying native libraries [errorCode=-113]
    09-20 11:40:09.716 3640-3764/? E/PackageInstaller: Commit of session 1828012220 failed: Failed to extract native libraries, res=-113
    

    任何帮助都将不胜感激!

    1 回复  |  直到 7 年前
        1
  •  2
  •   Kevin Read    7 年前

    通过Android bug追踪器,我找到了解决方案。问题是我使用的是renderscript版本19,它会自动创建。bc文件,从而使包管理器忽略arm64库。将其增加到21并启用renderscript compat使其工作。

    https://issuetracker.google.com/issues/37134362