zoukankan      html  css  js  c++  java
  • cocos2d-x 编译 安卓(android)apk文件

    摘要: 一、下载Android环境 搭建Android环境需要用到Android SDK、NDK、Ant和JDK; 下载Android SDK  下载Android NDk  下载Android JDK  下载Ant    其中JDK是需要安装的,其他的都直接解压即可。

    一、下载Android环境

    搭建Android环境需要用到Android SDK、NDK、Ant和JDK;

    下载Android SDK 

    下载Android NDk 

    下载Android JDK 

    下载Ant 

    其中JDK是需要安装的,其他的都直接解压即可。将SDK NDK 和ANT解压缩到同一个文件夹中,我解压后文件都放在了e:Android文件夹下

    182520_EQ0B_580523.png

    SDK如果下载下来的adt文件那么把里面的SDK文件夹考出来,修改后

    182531_xc6G_580523.png

    二、配置JDK

    在JDK安装完毕之后,需要手动进行环境变量的配置

    1、系统变量里新建JAVA_HOME变量,变量值为:C:Program FilesJavajdk1.8.0_05(根据自己的安装路径填写)

    2、新建系统变量classpath变量,变量值为:.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar (注意前面的“.”不要忘记了)

    3、在系统变量path变量(已存在不用新建)添加变量值:%JAVA_HOME%in;%JAVA_HOME%jrein(注意变量值之间用“;”隔开)

    环境变量的解析:

    JAVA_HOME:jdk的安装路径

    classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。

    path:系统在任何路径下都可以识别java,javac命令。

    在配置完成之后,我们打开cmd命令窗口,输入java或javac 回车,如果不是打印“java不是内部或外部命令”那就说明配置成功了。

    182603_ewgE_580523.png

    182613_CTzc_580523.png

    182624_J2ym_580523.png

    182635_lEPS_580523.png

    三、配置Ant环境变量

    把ant的存放路径加入系统Path变量。

    182650_WWwb_580523.png

    182703_QpY0_580523.png

    四、配置cocos2dx 3.1 Android 环境关联

    以上已做好准备工作,打开cocos2dx目录下的 setup.py。

    182715_Khvs_580523.png

    输入ndk的路径。

    182730_em2U_580523.png

    输入sdk路径

    182741_kKx4_580523.png

    最后输入的是 ant的路径。

    OK,三个路径都已经配置完毕:

    182753_chdt_580523.png

    五、打包Apk

    (注意:在打包apk之前需要修改proj.android/jni文件夹下的Android.mk文件 添加自己新增的CPP文件,这里的新增指的是非cocos2dx生成的项目文件(自己新增的文件)。一定要把自己新增的文件或文件夹包含进apk。)

    首先我们拿官方的 cpp-tests项目来试手吧!按住shift键+鼠标右键 选择在此处打开命令窗口。

    182806_7ogf_580523.png

    然后就可以使用 cocos compile -p android –-ap 20方式编译APK文件了(--ap 20是指定android平台,我用的是20,也有19等其他的,根据跟人下载的而定)

    182815_5com_580523.png

    然后运行:cocos run -p android --ap 20

    当出现:“ -waiting for device -    error:  ”的时候按Ctrl+C终止就可以了。

    漫长的等待吧,当然这里要提醒一点3.2版本用的是 android-20,如果E:Androidsdkplatforms目录下没有android-20 请创建一个空的。

    182826_Z4ah_580523.png

    等待完毕之后 看下这个文件夹下的 apk吧!可以安装到手机上试一下了。

    如果需要把项目在真机上弄成竖屏,只需在proj.android文件夹下的AndroidManifest.xml中改一改, android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏),它默认为横屏

    六、异常处理

    1、 Android platform not specified, searching a default one...

    Can't find right android-platform for project :

    "F:cocos2d-x-3.1.1 estscpp-testsproj.android".

    The android-platform should be equal/larger than 20

    如果你遇到这个问题,那么就要在

    182836_UcKs_580523.png

    下创建一个空的android-20文件夹,这个问题坑了我很久!同时要查看命令是否是 –ap 20(双-)。

    检查proj.android目录下的project.properties是否是android-20

    182845_vEA1_580523.png 

    2、make.exe: *** No rule to make target `/home/tubuntu/game/android-ndk-r9d/sources/android/cpufeatures/cpu-features.c', needed by `obj/local/armeabi/objs/cpufeatures/cpu-features.o'.  Stop. 

    解决办法:从后缀名来看,这个肯定是编译中间文件(可以删除)。而Make 的No rule to make target则一般说明是已经存在了,不用再编译。所以我们进入E:cocos2d-x-3.2ProjectsHelloCpp111proj.androidobjlocalarmeabi把objs-debug文件夹下面的文件(包括文件夹)全删除。

    3、make.exe:***obj/local/libcoccos2dcpp.so……

    解决办法:产生这个原因的是没有在Android.mk 文件中添加自己的文件,进入E:cocos2d-x-3.2ProjectsHelloCpp111proj.androidjni 文件夹下打开Android.mk文件,添加自己的文件,如下图:

    182856_JAM5_580523.png

    4、  编译时,提示找不到gcc工具链 (Couldn't find the gcc toolchain)。

    这个问题也烦了我很久!去检查下ndk的配置路径!NDK_ROOT是否正确!然后3.1版本需要的NDK是最新的版本,去安卓网站下一个最新的版本r9d吧!

    5、  如果遇到android api问题

    182906_izY2_580523.png

    找到运行进行更新,看缺哪个api就更新哪个,不过这个更新比较慢,原因google被禁了

    6、出现 build.xml:932 build.xml:950 错误 

            这是由于你的资源文件中出现了中文命名的文件,AAPT是没有办法识别的, IOS是可以识别的,但是AAPT不行,所以最好不要使用中文命名任何文件或者文件夹。

     
  • 相关阅读:
    Jquery不同版本共用的解决方案(插件编写)
    事务
    快应用开发
    编码问题
    spring事物配置,声明式事务管理和基于@Transactional注解的使用
    spring管理事务回滚
    Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
    tomcat 会话超时设置
    自动化测试基础篇--Selenium中数据参数化之TXT
    自动化测试基础篇--Selenium中JS处理浏览器弹窗
  • 原文地址:https://www.cnblogs.com/luorende/p/8726682.html
Copyright © 2011-2022 走看看