《暗黑世界》安卓APK 编译流程详细说明教程!(图文)
原地址: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).如何使用这个脚本呢?打开终端,依次输入如下命令
- cd $COCOS2DX_ROOT //进入cocos2d-x的根目录
- ls //列出所有目录,找到projects
- cd projects //进入projects目录
- ls //找到暗黑世界的源码,进入proj.android目录
- cd tsDemo //...
- ls //...
- cd proj.android //...
- ls //...
- cd jni //...
- ls //进入此目录后会看见清单中有个list.sh文件
- ./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>
运行以后的程序显示出来可能是横屏的,得自己去手动修改android的配置文件,在bin目录下找到AndroidManifest.xml,打开后,看见里面有很多项,具体每一项是什么意思,网上很多,此处不做太多的解释,找到这android:screenOriention,修改里面的值为portrait即可正常运行程序.
在res目录下的values目录下有一个strings.xml文件,打开后在version后面里可以设置版本号,string标签后即可修改安装在设备上的apk的名字,在此目录下还有几个其他的文件夹,从文件夹的名字就可以看出,他们分别是为放置不同分辨率的apk的icon准备的.
最后,大家如果有问题一定记得去论坛发帖噢!
list.sh在附件中“免铜板”下载!
《暗黑世界》安卓APK 编译流程详细说明教程!(图文)的更多相关文章
- cocos2dx 3.x(在Mac平台下利用Eclipse打包安卓apk安装包详细教程)
最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入"java -version" 点击回车后,出现如下提示: 我们的M ...
- cocos2d-x游戏开发(十七)NDK+ant编译暗黑世界
个人原创,欢迎转载http://blog.csdn.net/dawn_moon/article/details/12308967 9秒论坛的客户端暗黑世界,ios已经跑过了,今天搞了一下安卓的,记录一 ...
- 安卓---apk反编译
转自:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮 ...
- 专注于C#.Net WPF软件开发-软件反编译-软件破解-逆向-靖芯科技-包括安卓APK反编译
靖芯科技提供.Net软件开发,软件修改定制二次开发,软件破解,反编译,逆向等各项优质服务: 包括安卓APK软件反编译. 包括但不限于C#,WPF,Surface,Winform,Asp.net.JAV ...
- IONIC 打包安卓apk详细过程
参照以下链接: https://blog.csdn.net/qq_20264891/article/details/79319408 当 cordova 项目安装的 android 平台版本 与 系统 ...
- 安卓apk反编译
在win环境反编译安卓APP的.apk文件 安卓apk 反编译为 Java源码图文教程 Android安全攻防战,反编译与混淆技术完全解析(上)
- 《暗黑世界GM管理后台系统》部署+功能说明文档
http://www.9miao.com/product-10-1073.html <暗黑世界GM管理后台系统>部署+功能说明文档 <暗黑世界GM管理后台系统>部署+功能说明文 ...
- Android Activity启动流程, app启动流程,APK打包流程, APK安装过程
1.Activity启动流程 (7.0版本之前) 从startActivity()开始,最终都会调用startActivityForResult() 在该方法里面会调用Instrumentation. ...
- Firefly卡牌手游《暗黑世界V1.5》服务器端源码+GM管理后台源码
http://www.9miao.com/content-6-304.html Firefly卡牌手游<暗黑世界V1.5>服务器端源码+GM管理后台源码 关于<暗黑世界V1.5> ...
随机推荐
- C#一些小知识点
1. 在Load时候由代码来做控件PictureBox,并且用代码将图片加载进去: private void Form2_Load(object sender, EventArgs e) { Dire ...
- .NET学习笔记(4) — C#数据类型
目录 一:C#数据类型介绍 二:值类型和引用类型的区别和联系? 三:堆内存和栈内存? 四:参考资料 一:C#数据类型介绍 1:初识C#预定义数据类型 在C#的语言体系中,表示具体数据格式的规范 ...
- git命令(流程)
1,配置你的信息: git config --global user.name 你的名字 git config --global user.email 你的邮箱 --global 表示所有git仓库都 ...
- 用友NC V6.3打造集团企业高效信息平台
近年来,随着互联网快速发展,信息化管理的应用也越来越普及,信息化建设已经深入到很多企业的核心业务,而且为了确保业务稳定.可靠并快速.有效地 开展,企业经常会运用多个信息系统进行辅助支撑,但是,许多企业 ...
- Linux - 查看系统的版本信息
在 Linux 中,有多种方法可以查看系统的版本信息. uname 命令 huey@huey-K42JE:~$ uname -a Linux huey-K42JE 3.5.0-43-generic # ...
- 第三章 jQuery中的DOM操作
DOM(Document Object Model)文档对象模型,每张网页都能用DOM表示出来,每一份DOM都能看成一颗DOM树. jQuery继承了JavaScript对DOM对象操作的特性,使开发 ...
- linux+asp.net core+nginx+sql server
Linux Disibutaion:Ubuntu 16.04.1 LTS Web Server:Nginx.Kestrel 安装.net core sudo sh -c 'echo "deb ...
- 关于ServletConfig的小结
在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.当servlet配置了初始化参数后,web容器在创建servlet ...
- struts2中<s:property>的用法
1,访问Action值栈中的普通属性: <s:property value="attrName"/> 2,访问Action值栈中的对象属性(要有get set方法): ...
- IOS开发之NSPredicate谓词的用法
编程的人员不管是上过大学还是从培训机构出来的或做后台的.前端的都应该SQL语句有所了解,我们知道,在SQL语句当中 where 条件表达式可以对二维关系表的数据做条件筛选.微软的C# .net中也实现 ...