android so库多平台引用第三方so库,及多平台编译

1, eclipse 新建android项目,添加jni目录,配置ndk

2,jni目录下新建第三方库的引用源文件目录,包含各个平台的so包以及对应的头文件

3,配置Android.mk

第三方库引用的配置文件如:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := 引用库别名

LOCAL_SRC_FILES :=$(TARGET_ARCH_ABI)/引用库文件名称.so

include $(PREBUILT_SHARED_LIBRARY)

主引用Android.mk文件内容:

TOP_LOCAL_PATH :=$(call my-dir)

include $(call all-subdir-makefiles)

LOCAL_PATH := $(TOP_LOCAL_PATH)

include $(CLEAR_VARS)

LOCAL_MODULE:= 生成库文件名称

LOCAL_SHARED_LIBRARIES := \

引用库别名

LOCAL_SRC_FILES :=\

XXXX.cpp\

XXXX.cpp

LOCAL_LDLIBS += -llog

include $(BUILD_SHARED_LIBRARY)

so库编译命令:

ndk-build APP_ABI="armeabi armeabi-v7a x86 mips"

时间: 2024-10-29 08:35:11

android so库多平台引用第三方so库,及多平台编译的相关文章

DOS环境下含包并引用第三方jar的java程序的编译及运行

DOS环境下含包并引用第三方jar的java程序的编译及运行 1.程序目录机构 bin:class文件生成目录 lib:第三方jar包目录 src:源程序文件目录 2.程序代码: 3.程序编译 javac –classpath .;..\lib\commons-lang-2.3.jar -d ..\bin com\Test.java 4.编译后的程序目录: 5.运行程序及结果显示 java -classpath .;..\lib\commons-lang-2.3.jar com.Test

cocos2dx项目移植android平台使用第三方so库被删掉的问题

cocos2dx项目android平台在编译的时候会把libs/armeabi目录清空,这就是为什么我们编译的时候导入的第三方so库会被删掉的原因. 解决方案: 1. 在jni目录下新建prebuilt目录,并把要使用的第三方so库复制到该目录: 2.修改jni/Android.mk文件如下: ok!搞定!

[转帖] cocos2dx项目移植android平台使用第三方so库被删掉的问题

原文地址: http://www.2cto.com/kf/201408/329559.html cocos2dx项目android平台在编译的时候会把libs/armeabi目录清空,这就是为什么我们编译的时候导入的第三方so库会被删掉的原因. 解决方案: 1. 在jni目录下新建prebuilt目录,并把要使用的第三方so库复制到该目录: 2.修改jni/Android.mk文件如下: ok!搞定!

一种优雅的条件引用第三方.net库的方法

1.遇到的问题 今年我一直在开发一个WebApiClient库,旨在.net下能像java的retrofit一样,方便地请求服务端的http接口.在这restful api盛行的年代,json的身影无处不在,.net framework自然也有json库,System.Web.Script.Serialization.JavaScriptSerializer就是其中一个,但综合性较好的,还是第三方的json.net.在开发WebApiClient过程中,我一直没有依赖json.net,原因是:如

【持续更新】Android之项目推荐使用的第三方开源库,上拉下拉、侧栏、数据库、多线程、Json、动画等。

1. 使用上拉更多,下拉刷新:https://github.com/JosephPeng/XListView-Android 这个是github上面更为火爆的:https://github.com/chrisbanes/Android-PullToRefresh 2. 侧滑的菜单:SlidingMenu.rar(自己导入support-4v包) 3. 水平移动导航条关联ViewPage:http://www.eoeandroid.com/thread-175041-1-1.html 3.1 这个

css引用第三方字体库

对应的CSS文件中如下方式进行字体库的引用: @font-face { font-family: '造字工房情书'; src: url('../fonts/MFQingShu_Noncommercial-Regular.otf'); } .website-purpose { color: white; font-size: 1.5em; font-family: '造字工房情书'; text-align: center; padding-top: 0.8em; letter-spacing: 5

APK中引用第三方库文件

注意以下操作是在源码中进行,即修改Android.mk,并非借助IDE(AndroidStudio)的情形. 引用第三方JAR包 1,在源Android.mk里面加参数,使其编译为JAR包,然后mm编译 ... LOCAL_MODULE_CLASS := JAVA_LIBRARIES include $(BUILD_JAVA_LIBRARY) ... 2,提取class.jar选用 把common下面的jar包文件(out\target\common\obj\JAVA_LIBRARIES\xxx

Cocos2dx如何引用第三方SO文件(Android NDK)

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

cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

cocos2d-x 3.0 中,如果你需要使用CocosStudio.Extensions扩展库 等等,都需要自己手动添加. 添加步骤如下:(比如说现在我要添加libExtensions,libCocosStudio , libGUI) 1.添加附加项目 右击解决方案--->添加现有项目--->添加:项目目录\cocos2d\extensions\proj.win32\libExtensions,然后你会发现左边多了一个libExtensions扩展库 右击解决方案--->添加现有项目-