【问题标题】:how to build arm64-v8a folder without arm64 .so file with .apk?如何使用 .apk 构建没有 arm64 .so 文件的 arm64-v8a 文件夹?
【发布时间】:2019-10-15 07:55:49
【问题描述】:

我有预建的 .so 库,但我不能有 arm64-v8a .so 文件。根据 Google 的新政策,在 Play 商店中上传 .apk 需要 64 位架构。我可以添加

 ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64','mips' 

在 gradle.build 但不包括在我的 .apk arm64-v8a 文件夹中。我在 jniLibs 文件夹中手动添加 arm64-v8a 文件夹,但在 .apk arm64-v8a 文件夹中未包含在没有 arm64-v8a .so Librairie 的情况下如何在我的 .apk 中包含 arm64-v8a 文件夹。

【问题讨论】:

  • Google Play 限制的重点是强制您对本机代码进行 64 位构建。您需要创建一个 64 位库。

标签: android android-ndk


【解决方案1】:

您必须在jni 文件夹中的Android.mk 文件中指定预编译库,这是一个示例:

include $(CLEAR_VARS)

LOCAL_MODULE := your-module
LOCAL_MODULE_FILENAME := your-module

ifeq (arm64-v8a,$(TARGET_ARCH_ABI))
    LOCAL_SRC_FILES += $(LOCAL_PATH)/your-module-arm64.a
endif

ifeq (armeabi-v7a,$(TARGET_ARCH_ABI))
    LOCAL_SRC_FILES += $(LOCAL_PATH)/your-module-arm.a
endif

ifeq (x86,$(TARGET_ARCH_ABI))
    LOCAL_SRC_FILES += $(LOCAL_PATH)/your-module-x86.a
endif

ifeq (x86_64,$(TARGET_ARCH_ABI))
    LOCAL_SRC_FILES += $(LOCAL_PATH)/your-module-x86_64.a
endif

include $(PREBUILT_STATIC_LIBRARY)

【讨论】:

    猜你喜欢
    • 2022-12-14
    • 2017-06-17
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多