1、安装AndroidStudio
2、安装JDK
3、安装NDK
4、编译Cocos2dx工程,到 build 打开工程,用的都是动态库。
Cocos2dx自动生成的项目中,Additional Dependencies 里看不到引用的 Lib。
在 Command Line 可以看到引用的库,如果使用了Lua,会看到有 libluacocos2d.lib 的引用。
5、现在安卓项目都用AndroidStudio,项目下的 c/c++ 文件会先编译为 so,然后被主工程动态加载进来。
编译这些 c/c++ 文件会使用 NDK。
请阅读 NDK 的文档,如果看不太懂也先从前往后过一遍。
6、项目中如果使用预编译的库,那需要使用 PREBUILT_STATIC_LIBRARY,这个在 NDK 的手册里有专门一页来介绍。
需要给每个库文件都写一个 Android.mk 文件,然后把他们放在独立的目录中,然后依次调用。
7、静态库子工程 Android.mk 例子
1 LOCAL_PATH := $(call my-dir)
2
3 include $(CLEAR_VARS)
4 LOCAL_MODULE := pbc
5 LOCAL_SRC_FILES := libpbc.a
6 LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../../Classes/pbc/include
7 include $( PREBUILT_STATIC_LIBRARY)
8、外部工程 Android.mk 例子
1 LOCAL_PATH := $(call my-dir)
2
3 include $(CLEAR_VARS)
4
5 LOCAL_CPPFLAGS := -std=c++11 -pthread -frtti
6
7 LOCAL_MODULE := cpp_empty_test_shared
8
9 LOCAL_MODULE_FILENAME := libcpp_empty_test
10
11 LOCAL_SRC_FILES := main.cpp
12 ../../../Classes/AppDelegate.cpp
13 ../../../Classes/HelloWorldScene.cpp
14 ../../../Classes/net_game_dispatcher.cpp
15
16 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes
17 $(LOCAL_PATH)/../../../../../cocos
18 $(LOCAL_PATH)/../../../../../external/lua/lua
19 $(LOCAL_PATH)/../../../../../external/lua/tolua
20 D:/android-ndk-r10b/platforms/android-19/arch-arm/usr/include
21
22 LOCAL_LDLIBS := -llog
23
24 LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
25 LOCAL_STATIC_LIBRARIES += pbc
26 LOCAL_STATIC_LIBRARIES += scnet
27
28 include $(BUILD_SHARED_LIBRARY)
29
30 $(call import-module,scripting/lua-bindings/proj.android)
31 $(call import-module,pbc)
32 $(call import-module,scnet)
9、可能会遇到下面类似的提示,不要惊慌,那是由于没有设置好被 call 引用的路径
创建一个类似下面的脚本,Win上使用;号隔开,Mac上可能使用:号
1 set NDK_MODULE_PATH=E:/cocos2d-x-3.11;E:/cocos2d-x-3.11/cocos;E:/cocos2d-x-3.11/external;E:/cocos2d-x-3.11/tests/cpp-empty-test/proj.android-studio/app/jni;D:/android-ndk-r10b/platforms/android-19/arch-arm/usr/include
2 ndk-build
原文链接: https://www.cnblogs.com/tomren/p/5654314.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/236625
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!