关于cocos2dx 安卓工程目录下文件夹 和批量打包

其它:

编译时(build_native.sh执行) assets bin gen libs obj res src 这些文件都是用不到的 即编译得到的.so与这些文件无关  

assets的内容并不一定和resource一样 因为无法确定游戏内所有资源都来自resources (一些平台相关资源会放在各自的安卓工程内)

在eclipse运行游戏时(打包前)这些资源会被加入assets


多平台一次编译打包

在不改变class的情况下 编译一个.so 可以由所有安卓工程公用  要改变的都在安卓工程内  如res  lip assets(资源确定完整)lib...   避免几个包就编译几次(编译真的很耗时!) 


将xx.apk 改成xx.zip 解压可以看到安卓包内文件




assets文件夹    编译时resources下得文件会被拷贝到该目录下  


bin文件夹      可删除 eclipse运行时会自动生成

1、resources.ap_文件   

可以改成rar、zip等压缩文件的类型,里面包含res、AndroidMainfest.xml、resources.arsc一个个目录两个文件,并不包含assets

2、classes文件夹

有一个打包名路径的目录  包名a.b.c 则classes/a/b/c 存在


jni文件夹

1、Android.mk文件

编译设置文件  要编译哪些cpp 哪些c 。。都写在这


libs文件夹

1、armeabi/libcocos2dcpp.so文件

这个文件就是工程编译生成的动态库链接文件(包含所有游戏代码 并不是仅仅指cocos2dx的动态库)

关于armeabi

1、armeabi

       armeabi是指的该so库用于Arm的通用CPU。

2、armeabi-v7a

       v7a的CPU支持硬件浮点运算。

3、共同点

      armeabi和armeabi-v7a是表示cpu的类型。

4、不同点

      因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a CPU的能力。armeabi就是针对普通的或旧的armcpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm cpu。






obj文件夹  

临时文件夹 编译中生成的.o 文件 .a 文件都在这 这些文件会被生成 libcocos2dcpp.so 所以这个文件夹 编译完成后可删除

批量打包思路 :1、 替换平台相关的.o 重新生成.so 替换原.so 

 2、如果平台相关文件很少 只需要在java端写好native方法 让c++调用获得 appid 和 appkey。 platform_config这种文件也可以在java端转成字符串传给c++


res文件夹 

存放平台相关资源


src文件夹

存放java文件




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos2d-x是一个跨平台的游戏开发框架,其中有一个功能强大的压缩库zlib可以用来压缩文件夹。 使用cocos2d-x的zlib库来压缩文件夹,可以通过以下步骤进行操作: 1. 首先,确保已经下载并加入了cocos2d-x的开发环境。 2. 引入zlib头文件,可以通过#include <zlib.h>来实现。 3. 创建一个目标文件夹,用于存放压缩后的文件。 4. 使用zlib库提供的函数来压缩文件夹。可以使用gzopen函数打开待压缩的文件夹,使用gzwrite函数将文件夹的数据写入到压缩文件中,最后使用gzclose函数关闭文件。 5. 将压缩后的文件保存到目标文件夹中。 以下是使用cocos2d-x的zlib库来压缩文件夹的基本代码示例: ``` #include <zlib.h> #include <dirent.h> void compressFolder(const char* folderPath, const char* destinationPath) { DIR *dir; struct dirent *ent; char filePath[256]; // 创建目标文件夹 mkdir(destinationPath, 0777); // 打开待压缩的文件夹 if ((dir = opendir(folderPath)) != NULL) { // 遍历文件夹中的文件 while ((ent = readdir(dir)) != NULL) { if (ent->d_type == DT_REG) { // 构建待压缩文件的完整路径 sprintf(filePath, "%s/%s", folderPath, ent->d_name); // 打开文件 FILE *file = fopen(filePath, "rb"); if (file) { // 构建压缩文件的完整路径 sprintf(filePath, "%s/%s.gz", destinationPath, ent->d_name); // 打开压缩文件 gzFile gzfile = gzopen(filePath, "wb"); if (gzfile) { char buffer[1024]; int bytesRead = 0; // 读取文件内容并写入到压缩文件中 while ((bytesRead = fread(buffer, 1, sizeof(buffer), file)) > 0) { gzwrite(gzfile, buffer, bytesRead); } // 关闭压缩文件 gzclose(gzfile); } // 关闭文件 fclose(file); } } } // 关闭文件夹 closedir(dir); } } ``` 以上就是使用cocos2d-x的zlib库来压缩文件夹的基本步骤和代码示例。通过这种方式,可以方便地压缩文件夹,节省存储空间并方便传输和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值