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文件中的预编译库。

相关内容

热门资讯

微扑克德州专用辅助器!微扑克机... 微扑克德州专用辅助器!微扑克机制技巧,微扑克一直存在有挂,可靠教程(有挂攻略)1、任何德州ai辅助神...
玩家必备教程!新蜜瓜有外 挂吗... 玩家必备教程!新蜜瓜有外 挂吗(辅助)其实有挂(2024已更新)(哔哩哔哩)1、每一步都需要思考,不...
WePoKe透视挂!wepok... 1、WePoKe透视挂!wepoke有辅助(辅助透视)wepoKE(的确是有挂的)2、进入游戏-大厅...
一分钟了解!微信小程序雀神挂件... 一分钟了解!微信小程序雀神挂件,微信青龙大厅免费辅助器,详细教程(有挂攻略)1.微信青龙大厅免费辅助...
微扑克ai辅助!微扑克网页版辅... 微扑克ai辅助!微扑克网页版辅助,微扑克可以用模拟器,必赢方法(有挂机密)1、玩家可以在微扑克软件透...
玩家必备科技!河洛杠次老是输是... 玩家必备科技!河洛杠次老是输是外挂吗(透视辅助)确实真的有挂(2024已更新)(哔哩哔哩)1、打开软...
wepoke辅助德之星!wep... wepoke辅助德之星!wepoke辅助透视教程,wepoke都是真的有挂,透牌教程(有挂细节);致...
八分钟了解!雀神广东麻雀正规吗... 八分钟了解!雀神广东麻雀正规吗,川麻圈有没有外挂,第三方教程(有挂插件)1、全新机制【雀神广东麻雀正...
微扑克wpk透视辅助!微扑克a... 微扑克wpk透视辅助!微扑克ai人工智能,wpk微扑克辅助透视(果然真的是有挂),您好,微扑克这款游...
教程辅助!六瓣数字消有外挂吗(... 教程辅助!六瓣数字消有外挂吗(透明挂)确实是真的有挂(2024已更新)(哔哩哔哩)1、不需要AI权限...