zoukankan      html  css  js  c++  java
  • cocos2d-x的android项目中如何加载第三方so库

    刚开始接触cocos2d-x,在一个项目中需要将cocos2d-x与传统android代码混合使用,原有android项目中使用到的so文件也就需要添加到项目中,由于cocos2d-x项目在编译后会自动生成so文件,并且删除其他在lib中出现的so文件,所以需要在编译的时候修改原有android.mk文件来增加第三方so文件的声明。


    例如将百度推送的so文件加载到项目中:

    1. 在jni目录中新建armeabi文件(暂且不考虑v7的情况),将百度的libbdpush_V1_0.so文件放进去。

    2. 修改cocos2d-x项目中jni目录下的Android.mk中添加以下代码:

    include $(CLEAR_VARS)

    LOCAL_MODULE := armbdpush_V1_0  

    LOCAL_SRC_FILES :=$(TARGET_ARCH_ABI)/libbdpush_V1_0.so

    include$(PREBUILT_SHARED_LIBRARY)

    其中LOCAL_MODULE是要加载模块的名称,自己定义即可;LOCAL_SRC_FILES是指向so文件的路径,$(TARGET_ARCH_ABI)则是对应的到libs的armeabi目录。


    如果在HelloWorld项目中添加的话,完整的Android.mk为如下:


    LOCAL_PATH :$(call my-dir)


    include $(CLEAR_VARS)

    LOCAL_MODULE := armbdpush_V1_0

    LOCAL_SRC_FILES :$(TARGET_ARCH_ABI)/libbdpush_V1_0.so

    include $(PREBUILT_SHARED_LIBRARY)


    include $(CLEAR_VARS)

    LOCAL_MODULE := hellocpp_shared


    LOCAL_MODULE_FILENAME := libhellocpp


    LOCAL_SRC_FILES := hellocpp/main.cpp

                       ../../Classes/AppDelegate.cpp

                       ../../Classes/HelloWorldScene.cpp

    LOCAL_C_INCLUDES :$(LOCAL_PATH)/../../Classes

    LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static

    include $(BUILD_SHARED_LIBRARY)


    $(call import-module,cocos2dx)

  • 相关阅读:
    索引与慢查询优化
    视图 触发器 事物 储存过程 内置函数 流程控制
    多表查询
    having distinct 正则 limit order by 排序
    Mysql基本查询语句及方法
    Python基础之列表内置方法
    Python基础之流程控制while循环
    Python基础之格式化输出的三种方式
    计算机基础之编程与编程语言
    计算机组成
  • 原文地址:https://www.cnblogs.com/Anzhongliu/p/6092000.html
Copyright © 2011-2022 走看看