gpt4 book ai didi

Android Gradle 添加静态库

转载 作者:可可西里 更新时间:2023-11-01 18:46:45 29 4
gpt4 key购买 nike

在老传统的android ndk中我们会在Android.mk文件中指定要链接的静态库。

Android.mk

PLATFORM_PREFIX := /opt/android-ext/
LOCAL_PATH := $(PLATFORM_PREFIX)/lib
include $(CLEAR_VARS)
LOCAL_MODULE := library
LOCAL_SRC_FILES := library.a
include $(PREBUILT_STATIC_LIBRARY)

LOCAL_STATIC_LIBRARIES := android_native_app_glue library

这是我的问题

切换到 NDK 的 Gradle 实验性插件时,我有点困惑。分享您关于如何在 App build.gradle 文件中链接静态库的想法。

我已经关注了最新的gradle实验插件文档given here.

最佳答案

看看这个sample .

  1. 告诉编译器 header 的位置(在 android.ndk{} 中):

    CFlags += "-I${file("path/to/headers")}".toString()
    cppFlags += CFlags

  2. 告诉链接器 .a 文件在哪里(在 android.ndk{} 或哪里定义口味 - 确保添加 abiFilter - 例如abiFilters += "armeabi-v7")

    ldFlags += "-L${file(path/to/library.a)}".toString()
    ldLibs += ["nameOfLibrary"]

    注意库的名字按照约定是后面的字符串.a 文件名中的“lib”。例如,对于名为 libNative.a 的文件您应该将 ldLibs += ["native"] 添加到 gradle。

  3. 创建一个新模块并使用apply plugin: 'java' 应用java插件。在 build.gradle 中编写必要的代码以获取 .a 文件并将其放置在适当的目录中(您将从使用它的模块中获取它)。不要忘记在使用库的模块中添加依赖项(compile project(':libraryModule') in dependencies{})并将其包含在项目中settings.gradle 文件,包含 include ':libraryModule'。如果您想将模块放在您指定的文件夹中(例如,当前您的 Android.mk 文件所在的位置),只需添加 project(':libraryModule').projectDir = new File (settingsDir, 'path/to/module').

应该这样做。

关于Android Gradle 添加静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32471255/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com