使用Android Studio进行cocos2d-x开发-阿里云开发者社区

开发者社区> 开发与运维> 正文

使用Android Studio进行cocos2d-x开发

简介:

cocos2d-x进行android时官方使用的是eclipse+ADT+NDK的模式,但是随着Android Studio正式版的推出,越来越多的开发者正开始转变他们的开发工具为Android Studio。

Android Studio相对于eclipse+ADT的优势

  • Android Studio是基于Intellij的IDEA社区版进行开发而成的,而IDEA则被誉为最智能的JAVA开发工具,Android Studio在智能提醒、预览xml布局界面等功能方面相较于eclipse方面是比较优势的。
  • ADT正在被谷歌官方边缘化,谷歌方面已经宣布不再对ADT进行支持开发了,这将意味着很多bug得不到及时的修复、新功能难以添加上去。
  • Android Studio具有更加优秀的用户界面。

使用Android Studio进行cocos2d-x的开发

Android Studio的ndk配置

Android Studio使用ndk十分方便。

  1. 首先需要在local.properties文件中添加上ndk的根目录。以下是我电脑上的配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ## This file is automatically generated by Android Studio.
    # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
    #
    # This file should *NOT* be checked into Version Control Systems,
    # as it contains information specific to your local configuration.
    #
    # Location of the SDK. This is only used by Gradle.
    # For customization when using a Version Control System, please read the
    # header note.
    sdk.dir=C\:/Android/android-sdk-windows
    ndk.dir=C\:/Android/android-ndk-r10e
  2. 在gradle的编译脚本,gradle.build中的android中添加以下语句

    1
    2
    3
    4
    5
    sourceSets.main {
    jni.srcDirs = [] // 这里代表的是c++源码的目录,默认不写为src/main/jni下,因为在windows下直接使用gradle进行编译会出错,因为这里将它制空,然后后面用其他脚本进行编译
    jniLibs.srcDir 'src/main/libs' // 生成的.so的目录
    assets.srcDir 'src/main/assets' // assets目录
    }</span><br></pre></td></tr></tbody></table></figure>

完整的编译脚本为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.1'
}
}
apply plugin: 'com.android.application'

repositories {
jcenter()
// flatDir{
// dirs 'libs'
// }
}

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
applicationId "com.vincent.twoplusone.app"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir 'src/main/libs'
assets.srcDir 'src/main/assets'
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// compile(name:'loginModule-release', ext:'aar')
compile project(':loginModule')
compile 'com.android.support:appcompat-v7:22.2.0'
}

至此ndk配置完成。

使用Android Stduio开发cocos2d-x

首先用Android Studio和cocos的脚本分别创建一个新的项目,然后就是将cocos项目中对应的文件拷贝到相应的目录下面。

cocos中的文件 Android Studio项目下的文件(默认根目录为module根目录)
Classes* src\Classes*
Resource* Resource*
proj.android\jni* src\main\jni*
proj.android\assets* src\main\assets*
proj.android\src* src\main\java*
proj.android\res* src\main\res*
proj.android\project.properties src\main\java\project.properties

最后因为Android Studio在window下直接使用ndk进行编译会因为一些全局变量的缺失导致失败,需要使用在src\main 目录下使用以下脚本进行编译(其中一些全局变量需要自行配制):

1
ndk-build NDK_ROOT=%NDK_ROOT% NDK_MODULE_PATH=%NDK_MODULE_PATH% ANDROID_SDK_ROOT=%ANDROID_SDK_ROOT% NDK_TOOLCHAIN_VERSION=4.9

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章