做项目的过程中发现,引用第三方的库lib3rdsdk.so,当直接把lib3rdsdk.so放进armeabi文件夹里,会被删除掉。查网上资料都说的不全,经过实验,最简单的方法就是在jni下的android.mk里加下面3-7行就可以,要放最前面,放后面有可能不行哦,因为编译路径有可能会被改掉。

其中prebuilt/$(TARGET_ARCH_ABI)中的prebuilt就是jni里新建的prebuilt文件,其实建不建无所谓,prebuilt里面有4个文件夹:armeabi、armeabi-v7a、mips、x86,每个文件夹里放着不同架构的lib3rdsdk.so库, $(TARGET_ARCH_ABI)则是按cpu架构自动选择armeabi、armeabi-v7a、mips、x86这些架构中的库,默认只会复制armeabi中的libtxpay.so库,比如需要多复制armeabi-v7a中的库,则需要在application.mk中添加APP_ABI := armeabi armeabi-v7a后,则会同时复制armeabi armeabi-v7a的库

01 LOCAL_PATH := $(call my-dir)
02  
03 include $(CLEAR_VARS)
04  
05 LOCAL_MODULE    := 3rdsdk
06  
07 LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/lib3rdsdk.so
08  
09 include $(PREBUILT_SHARED_LIBRARY)
10  
11 include $(CLEAR_VARS)
12  
13 LOCAL_MODULE := game_shared
14  
15 LOCAL_MODULE_FILENAME := libgame
16  
17 #traverse all the directory and subdirectory
18  
19 define walk
20  
21   $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
22  
23 endef
24  
25 #traverse Classes Directory
26  
27 ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
28  
29 FILE_LIST := hellocpp/main.cpp
30  
31 FILE_LIST += $(LOCAL_PATH)/../../Classes/helloworld.cpp
32  
33 FILE_LIST += $(filter %.cpp, $(ALLFILES))
34  
35 FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)
36  
37 #source file will be compiled
38  
39 LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)                 
40  
41 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../external/Box2D/ \
42  
43   $(FILE_INCLUDES) \
44  
45  
46 LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static
47  
48 include $(BUILD_SHARED_LIBRARY)
49  
50 $(call import-module,CocosDenshion/android) \
51  
52 $(call import-module,cocos2dx) \
53  
54 $(call import-module,extensions) \
55  
56 $(call import-module,external/Box2D)

Cocos2dx如何引用第三方SO文件(Android NDK)的更多相关文章

  1. Android NDK编译本地文件以及引用第三方so文件

    LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_LDLIBS :=-llog LOCAL_MODULE := DeviceAPI LO ...

  2. Android Studio工程引用第三方so文件

    应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库.在Androi ...

  3. Vs 引用第三方DLL文件 版本不一致问题 (npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案)

    最近在 做 MailChimp 与网站功能 集成时,发现 MailChimp 2API 中的 MailChimp.dll  中的依赖项 SerivceStack.Text.dll (版本为3.9.71 ...

  4. mapreduce引用第三方jar

    要想让mapreduce程序引用第三方jar文件, 可以采用如下方式: 通过命令行参数传递jar文件, 如-libjars等; 直接在conf中设置, 如conf.set(“tmpjars”,*.ja ...

  5. 【Android Studio安装部署系列】十七、Android studio引用第三方库、jar、so、arr文件

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在Android开发过程,经常需要用到第三方库以及jar.so.arr文件,那么如何引用到项目中呢?下面简单介绍下. 引用第三方库 ...

  6. Android NDK开发指南---Application.mk文件和android.mk文件

    https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...

  7. 关于Android NDK中调用第三方的动态库

    因为最近在整合Android 上RTSP播放器的网络库,因需要调用自己编译的网络库,调用一直出现问题,开始时是直接在Android.mk 中加入LOCAL_SHARED_LIBRARIES := li ...

  8. 【转载】cocos2dx 中 Android NDK 加载动态库的问题

     原文地址:http://blog.csdn.net/sozell/article/details/10551309 cocos2dx 中 Android NDK 加载动态库的问题 闲聊 最近在接入各 ...

  9. Android NDK开发之Android.mk文件

    Android NDK开发指南---Android.mk文件 博客分类: Android NDK开发指南   Android.mk文件语法详述 介绍: ------------ 这篇文档是用来描述你的 ...

随机推荐

  1. Data of Ch5 --Dual rotor

    * Results *Conclusion*- little effect of rear rotor on Cp_1- Cp1 is independent of TI** TI effect on ...

  2. [NOIP2005] 普及组 循环

    陶陶摘苹果 校门外的树 采药 以上三道都不是重点 循环 题目描述 乐乐是一个聪明而又勤奋好学的孩子.他总喜欢探求事物的规律.一天,他突然对数的正整数次幂产生了兴趣. 众所周知,2的正整数次幂最后一位数 ...

  3. Ubuntu 12.04 之 LAMP

    搭建LAMP环境 (1)更新软件列表: sudo apt-get update 结果报错: W: 无法下载 bzip2:/var/lib/apt/lists/partial/cn.archive.ub ...

  4. apple网址

    https://developer.apple.com/downloads/index.action#   开发工具下载

  5. POJ 3041_Asteroids

    题意: N*N网格中有小行星,光束能将一整行或者一整列的行星消灭,问消灭所有行星至少需要多少光束? 分析: 最小顶点覆盖问题,将每个小行星看成边,左右顶点为横纵坐标,可以转化为二分图,利用二分图中最小 ...

  6. HDU——1498 50 years, 50 colors

    50 years, 50 colors Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. codevs——1009 产生数

    1009 产生数 2002年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 给出一个 ...

  8. Java函数式接口Function

    Function 提供了一个抽象方法  R apply(T t) 接收一个参数 返回 一个值,还有两个默认方法和一个静态方法 compose 是一个嵌套方法,先执行before.apply() 得到运 ...

  9. Ubuntu 16.04 GNOME下解决Sublime Text3中文输入(ibus)(转)

    解决方法: 1.进入Sublime Text3插件管理文件夹 cd ~/.config/sublime-text-3/Packages 2.获取InputHelper插件 git clone http ...

  10. DTRACE简介(1)

    https://blogs.oracle.com/swan/entry/dtrace%E7%AE%80%E4%BB%8B By samwan on 三月 20, 2007 记得几年前看过一部美国大片叫 ...