原地址:http://bbs.gameres.com/forum.php?mod=viewthread&tid=223671

关于开发环境的搭建,之前的相关文档已经很详细的说明,对环境的搭建请参考以前的相关文档,如有问题,及时在论坛里提问,会有管理人员快速解答,此文档主要针对eclipse下安卓编译.
    首先肯定是把暗黑世界的源码导入eclipse,源码导入进来后,就开始进行编译的准备工作,这里首先需要将Classes里面的.cpp文件和和相关的文件夹路径写进来,打开eclipse下的暗黑世界的工程,打开jni文件夹,找到Android.mk这个文件,双击打开.

<ignore_js_op>

打开以后将所有的.cpp文件的名称依次写进去,如下图所示一部分.cpp文件.

<ignore_js_op>

当然这么的.cpp文件全都手动填进去会很麻烦,在此可以使用一个shell脚本自动生成所有的.cpp文件清单,脚本的在此文档的附件中(list.sh).如何使用这个脚本呢?打开终端,依次输入如下命令

  1. cd $COCOS2DX_ROOT  //进入cocos2d-x的根目录
  2. ls                                         //列出所有目录,找到projects
  3. cd projects                         //进入projects目录
  4. ls                                         //找到暗黑世界的源码,进入proj.android目录
  5. cd tsDemo                         //...
  6. ls                                         //...
  7. cd proj.android                 //...
  8. ls                                            //...
  9. cd jni                                 //...
  10. ls                                         //进入此目录后会看见清单中有个list.sh文件
  11. ./list.sh ../../Classes           //使用list.sh列出Classes的.ccp文件清单

复制代码

<ignore_js_op>

将生成的.cpp清单全都复制,然后粘贴进入android.mk里面的对应位置即可.

接下来还得把Classes里面的一些文件添加进来,具体的添加位置如下图所示.

<ignore_js_op>

添加文件夹路径时请注意,此处是为了去找Classes的代码,所以此处的路径可以不写完整的路径,但在IDE中,比如Xcode中,一定要把缺省的路径添加进去.
好啦!准备工作做好了,开始编译代码,右击工程,Run As->Android Application,开始编译,但此时可能会报Can't find NDK.Please define NDK,如果出现这种错误,那么手动把NDK的添加进工程,Project->Properties->C/C++ Build->Environment,在右边的区域,点击Add,按下图所示name为NDK_ROOT,然后在Value里写入自己的NDK路径即可.

<ignore_js_op>

问题都解决了,现在开始编译源码,整个过程会花费一段时间(如果编译过程出现其他问题,一定记得去论坛发帖,会有相关人员及时给与回复),编译完成后,在工程bin目录下会看见生成的.apk安装包,如果想看编译后运行的效果,还是直接接入真机为好,android自带模拟器的速度实在不敢恭维.
Run->Run Configurations->Android Application->tsDemo,在右边选择Target,选中Always prompt to pick device,这样连上真机以后,每次运行会自动识别你的设备去安装.

<ignore_js_op>

2013-9-23 10:38:34 上传

下载附件 (76.89 KB)

 

运行以后的程序显示出来可能是横屏的,得自己去手动修改android的配置文件,在bin目录下找到AndroidManifest.xml,打开后,看见里面有很多项,具体每一项是什么意思,网上很多,此处不做太多的解释,找到这android:screenOriention,修改里面的值为portrait即可正常运行程序.
在res目录下的values目录下有一个strings.xml文件,打开后在version后面里可以设置版本号,string标签后即可修改安装在设备上的apk的名字,在此目录下还有几个其他的文件夹,从文件夹的名字就可以看出,他们分别是为放置不同分辨率的apk的icon准备的.
最后,大家如果有问题一定记得去论坛发帖噢!

list.sh在附件中“免铜板”下载!

《暗黑世界》安卓APK 编译流程详细说明教程!(图文)的更多相关文章

  1. cocos2dx 3.x(在Mac平台下利用Eclipse打包安卓apk安装包详细教程)

    最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入"java -version" 点击回车后,出现如下提示: 我们的M ...

  2. cocos2d-x游戏开发(十七)NDK+ant编译暗黑世界

    个人原创,欢迎转载http://blog.csdn.net/dawn_moon/article/details/12308967 9秒论坛的客户端暗黑世界,ios已经跑过了,今天搞了一下安卓的,记录一 ...

  3. 安卓---apk反编译

    转自:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮 ...

  4. 专注于C#.Net WPF软件开发-软件反编译-软件破解-逆向-靖芯科技-包括安卓APK反编译

    靖芯科技提供.Net软件开发,软件修改定制二次开发,软件破解,反编译,逆向等各项优质服务: 包括安卓APK软件反编译. 包括但不限于C#,WPF,Surface,Winform,Asp.net.JAV ...

  5. IONIC 打包安卓apk详细过程

    参照以下链接: https://blog.csdn.net/qq_20264891/article/details/79319408 当 cordova 项目安装的 android 平台版本 与 系统 ...

  6. 安卓apk反编译

    在win环境反编译安卓APP的.apk文件 安卓apk 反编译为 Java源码图文教程 Android安全攻防战,反编译与混淆技术完全解析(上)

  7. 《暗黑世界GM管理后台系统》部署+功能说明文档

    http://www.9miao.com/product-10-1073.html <暗黑世界GM管理后台系统>部署+功能说明文档 <暗黑世界GM管理后台系统>部署+功能说明文 ...

  8. Android Activity启动流程, app启动流程,APK打包流程, APK安装过程

    1.Activity启动流程 (7.0版本之前) 从startActivity()开始,最终都会调用startActivityForResult() 在该方法里面会调用Instrumentation. ...

  9. Firefly卡牌手游《暗黑世界V1.5》服务器端源码+GM管理后台源码

    http://www.9miao.com/content-6-304.html Firefly卡牌手游<暗黑世界V1.5>服务器端源码+GM管理后台源码 关于<暗黑世界V1.5> ...

随机推荐

  1. smarty实现缓存

    首先需要在mySmarty中添加配置信息,开启缓存,设置缓存文件存放目录,设置缓存时间缓存可以实现减少访问数据库,减轻数据库压力,访问一次数据库,形成静态页面,下次直接调用这个页面,也可以用nocac ...

  2. 通过GitHub部署网站到Azure WebSite

    一.将代码上传到GitHub存储库中 第一步:创建Github新账户 第二步:新建仓库 第三步:安装Github shell程序,地址:http://windows.github.com/ 第四步:打 ...

  3. 爬虫遇到取到网页为reload的问题

    有的网站防采集,会在页面加上this.window.location.reload(),这时候你就会得到如下代码: <html>   <head>      <meta ...

  4. 第四篇、C_快速、冒泡、选择、插入排序、二分查找排序、归并、堆排序

    1.快速排序 实现: 1.取中间一个数作为支点 2.分别在支点的左右两边进行查找,如果左边查找到比支点大,右边查找到比支点小,就交换位置,如此循环,比支点小的数就排在了左边,比支点大的就排在右边 3. ...

  5. 纯代码添加约束条件(Auto Layout)

    Auto Layout 是一种基于约束的.描述性的布局系统.也就是使用约束条件来描述布局,View的Frame会根据这些描述来进行计算. 在iOS6.0以后加入了一个新类: NSLayoutConst ...

  6. iOS推送通知流程

    ①注册推送通知使用方法:registerUserNotificationSettings, registerForRemoteNotifications ④APP发送deviceToken到第三方: ...

  7. 鼠标点击input时,placeholder中的提示信息消失

    html代码: <input type="text" placeholder="多个关键词空格隔开"> 鼠标点击input时,placeholder ...

  8. Eclipse Memory Analysis进行堆转储文件分析

    生成堆转储文件 新建项目,设置Eclispe Java堆的大小: (1)限制Java堆大小:将最小值 -Xms参数与最大值-Xmx参数设置一样可避免堆的扩展         -Xmx20m -Xms2 ...

  9. 划分分区GPT11

    umount /dev/sda1 /data1umount /dev/sdb1 /data2mount /dev/sdb1 /data1umount /dev/sdb2 /data3umount /d ...

  10. 什么是SQL statement?

    什么是SQL statement? 1.SQL SELECT statement - SELECT命令 REFER: What is SQL, and what are some example st ...