Android.mkNDK/JNI:Cannotlinkdependency.aar”
创始人
2024-08-20 02:00:16
0

在Android.mk文件中使用预编译库(.a)时,如果依赖的库中包含了Android Archive(.aar)格式的库,NDK会报'Cannot link dependency .aar”错误。这是因为NDK不支持直接链接.aar文件。

解决这个问题的方法是:使用Android Studio将.aar文件转换为.a文件,再将其链接到你的应用程序中。

以下是将.aar文件转换为.a文件的过程:

  1. 首先,在项目的/app/libs/目录下创建一个文件夹,例如,libtemp/
  2. 将要转换的.aar文件复制到libtemp/目录下
  3. 在/app/build.gradle文件里添加以下代码:
task extractNativeLibs(type: Copy) {
    from(zipTree("$projectDir/libs/libtemp/your_lib.aar"))
    into("$buildDir/intermediates/ndkBuild/$flavor/$buildType/lib")
    include "jni/**/*"
}
preBuild.dependsOn(extractNativeLibs)

其中,将your_lib.aar替换为你要转换的库的名称。

  1. 在/app/src/main/jni目录下创建一个Android.mk文件,其中包含以下代码:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../libs/headers

LOCAL_MODULE := your_module
LOCAL_SRC_FILES := your_lib.a
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_C_INCLUDES)
include $(PREBUILT_STATIC_LIBRARY)

将your_module修改为自己的模块名,your_lib.a修改成自己需要的库名。

  1. 最后,通过ndk-build命令编译应用程序。现在,你应该能够成功地链接.aar文件中的预编译库。

相关内容

热门资讯

wepoke辅助插件!wpk德... wepoke辅助插件!wpk德州俱乐部机器人,(wPk)本然真的是有挂(详细透视详细教程);科技安装...
透视系统(微扑克德州专用辅助器... 透视系统(微扑克德州专用辅助器)德州线上扑克辅助工具app(详细辅助黑科技教程)固有有挂1、许多玩家...
aapoker辅助!wpk德州... aapoker辅助!wpk德州ai辅助神器,(德扑之星)从来有挂(详细辅助普及教程)相信很多朋友都在...
透视软件(wepoke一定有挂... 透视软件(wepoke一定有挂)红龙poker正规吗(详细辅助规律教程)其实真的是有挂,亲,有的,a...
wepokeai代打!德扑之星... wepokeai代打!德扑之星作弊,(wpK)从来真的有挂(详细透视技巧教程);致您一封信;亲爱德扑...
透视最新(wpk德州透视辅助)... 透视最新(wpk德州透视辅助)微扑克系统机制(详细辅助透牌教程)一向是有挂;一、有挂的是的,亲,真的...
aapoker猫腻!gg扑克发... 相信很多朋友都在电脑上玩过aapoker猫腻吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大...
透视科技(德扑数据软件)好运大... 透视科技(德扑数据软件)好运大菠萝有辅助吗(详细辅助科技教程)从前真的有挂;辅助插件是一个在免局卡环...
WePoKe透视挂!wpkai... 1、WePoKe透视挂!wpkai辅助,(WepOke)其实真的有挂(详细透视分享教程);详细教程。...
透视挂(德州之星有外挂)德扑a... 透视挂(德州之星有外挂)德扑ai自定义设置数据(详细辅助靠谱教程)原本真的是有挂1、实时开挂更新:用...