OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程
Cocos2D-X官网已经简单介绍了如何在OS X环境下搭建Cocos2D-X v2.x和v3.x的指南。具体链接为:http://www.cocos.com/doc/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/getting-started/setting-up-development-environments-on-mac-with-eclipse/zh.md
在此,我将进一步介绍如何将生产的项目用于Android Studio。
我们通过上述链接中所描述的过程生成完一个HelloWorld项目工程后可以先放在桌面或其它临时文件夹里。然后,打开Android Studio应用,选择“Import Non-Android Studio Project”,然后选择HelloWorldDemo/proj.android所在目录。然后点击几次Next之后即可进入正式项目工程界面。一般来说,刚进入界面会出现missing SDK的错误。由于Cocos2D-X默认生成的SDK API版本太小,因此分别进入helloWorldDemo目录以及libcocos2dx目录下的build.gradle文件中,将compileSdkVersion、targetSdkVersion设置到较高版本即可。总之,只要当前的Android Studio能认出来就行。
其次,我们把src/main目录下的jni目录给delete掉。可以直接在左侧项目栏,右键jni,然后选择Delete删除之。由于这会使得Android Studio自动去编译JNI,然而我们已经通过执行build_native.py把整个JNI都编译好了,因此这一步可以放在外面做。
最后,我们点击绿色三角箭头即可运行这个HelloWorldDemo的应用了。
下面谈谈如何引入其它第三方库的问题。首先是JNI的库。我们知道,Cocos2D-X使用是C++作为主要开发语言,因此势必哋跟JNI来打交道。如果我们获得的第三方库也是JNI的.so动态库文件,那么我们可以在之前所生成的放在桌面或临时文件夹中的项目工程文件中,把第三方.so文件先放在“proj.android/jni”目录中。然后编辑Android.mk,在
LOCAL_STATIC_LIBRARIES := cocos2dx_static
这条语句下添加
LOCAL_LDLIBS += -L$(LOCAL_PATH)/ -lthird_party
假定,我们这里所使用的第三方动态库文件名为libthird_party.so。通过编译后,我们还需要将这些.so文件一起放到Android Studio项目工程下的HelloWorldDemo里的jniLib中。
然后,我们要添加其它C/C++源文件可以直接在LOCAL_SRC_FILES变量后通过+=操作符进行追加。
这里值得注意的是,Cocos2D-X默认仅编译armeabi,如果有需要,可以编辑Application.mk,修改APP_ABI变量,往后追加想要支持的ABI。现在Cocos2D-X v3.4的SDK,ARMv8还不支持。
对于导入第三方jar库的话也比较简单。我们首先可以把第三方jar库扔进Android Studio工程目录中的HelloWorldDemo目录下的jniLib目录中,然后打开Android Studio工程,在左侧项目栏里会把我们加入的jar文件显示出来,我们右键它(如果有多个可以多选),然后选择Add to Libs,将它们作为库正式导入到工程中。这样就OK了~
最后,如果要在工程中使用android.support库,或者第三方库中有对android.support库的引用,那么得在左侧工程栏里helloWorldDemo里的build.gradle的dependencies中添加如下语句:
dependencies {
compile project(':libcocos2dx') // 这个是已有的
/** 添加对com.android.support的支持 */
compile 'com.android.support:appcompat-v7:21.0.3'
}
对于其它资源文件可以合并到res目录下;对于要增加特殊的用户访问权限的,直接编辑AndroidManifest.xml即可。
OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程的更多相关文章
- 在 Mac OS X 环境中从源代码编译安装 FFmpeg
最近因为一个项目要求,需要开发实时视频编解码功能,准备采用 FFmpeg 以 x264 方式进行实时的视频编解码.Windows 以及 Linux 环境下的 FFmpeg 动态库.头文件等资源都非常容 ...
- iOS系统提供开发环境下命令行编译工具:xcodebuild
iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...
- MemCache在Windows环境下的搭建及启动
MemCache在Windows环境下的搭建及启动 一.memcache服务器端的安装 1.下载memcached的安装包,memcached_en32or64.zip,下载链接:http://pan ...
- CentOS7.4,anaconda3,python3.6,tensorflow环境下gdal的编译和问题解决
CentOS7.4,anaconda3,python3.6,tensorflow环境下gdal的编译和问题解决 这是gdal可能会用到的额外的包,按自己需要先提前编译. 这里的话我主要用了proj,L ...
- RabbitMQ,Windows环境下安装搭建
切入正题:RabbitMQ的Windows环境下安装搭建 一.首先安装otp_win64_20.1.exe,,, 二.然后安装,rabbitmq-server-3.6.12.exe, 安装完成后,在服 ...
- Linux环境下使用VSCode编译makefile文件的注意事项
Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // ...
- aarch64环境下,搭建并配置服务器tomcat:
aarch64环境下,搭建并配置服务器tomcat: 环境说明及下载相关文件: 1. ARM环境:aarch64开发板 2.JDK安装包: jdk-8u231-linux-arm64-vfp-hflt ...
- Windows环境下使用VS2005编译OpenSSL
如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP S ...
- XAMPP、PHPstorm和PHPcharm和Windows环境下Python搭建+暴力破解
XAMPP的安装和使用 一.什么是XAMPP? XAMPP是最流行的PHP开发环境. XAMPP是完全免费且易于安装的Apache发行版,其中包含Apache.MariaDB.PHP和Perl. 类似 ...
随机推荐
- python字典添加元素和删除元素
1. 添加字典元素 方法一:直接添加,给定键值对 #pycharm aa = {'人才':60,'英语':'english','adress':'here'} print(aa) # {'人才': 6 ...
- 提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件
提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件 11月5日,在『WAVE Summit+』2019 深度学习开发者秋季峰会上,百度对外发布基于 ERNIE 的语义理解 ...
- jFinal手册
JFinal官方文档 https://www.jfinal.com/ w3cschool之JFinal手册 https://www.w3cschool.cn/jfinal/
- 循环双端链表(python)
# -*- coding: utf-8 -*- class Node(object): __slots__ = ('value', 'prev', 'next') # save memory def ...
- maya pymel cmds ls 列出未知节点 unknown nodes
maya pymel cmds ls 列出未知节点 unknown nodes cmds.ls(type = 'unknown',fl = 1)
- go mod使用
GO111MODULE 有三个值:off, on和auto(默认值) GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者G ...
- perfectpixel 加载PSD图到网页中和已经写好的网页进行对比
perfectpixel 这是火狐的插件: 用途:加载设计图,和 已经编写好的网页进行对比,看是否完美还原. 谷歌也有类似的插件,但是无法下载.
- Greenplum table 之 appendonly的列存储表
一.appendonly的列存储表 1.创建列存储表 create table test_column_ao( id bigint, name varchar(128), value varchar( ...
- P4316 绿豆蛙的归宿 期望DP
P4316 绿豆蛙的归宿 期望DP DAG上,每条边有边权,走向相连每条路的概率相等,问从起点到终点所经过的路径总长度期望 因为发现终点走到终点期望为0,定义\(f[i]\)从终点走到\(i\)所经过 ...
- 开源是个巨大的坑,谁来帮帮我 - smartmontools 虐我记
最近在试用smartmontools,感觉还行,于是乎想找来源码改改试试,这下可好,掉坑里了.呜呜呜... smartmontools的源码在这里可以看到:https://www.smartmonto ...