AndroidManifest.xml
Androidmanifest是一个Android App的主要配置文件,介绍了XML的版本,package name,最低支持的SDK版本,最低OpenGL ES版本号,App的名称,App的icon,Activity,Activity的名称、标签、横屏/竖屏、主题,Intent,支持的屏幕大小,App需要的权限
android:versionCode(项目版本号——内部)
android:versionName(项目版本号——外部)
android:installLocation=”auto”(决定程序的安装位置,auto:程序可能被安装在外部存储介质上(例如:SD Card),但是默认会被安装到手机内存中.当手机内存为空时,程序将被安装到外部存储介质上.当程序安装到手机上后,用户可以决定把程序放在外部储介质还是内存中.)
meta-data android:name=”android.app.lib_name” android:value=”cocos2dcpp” 定义一个key_value对,key为android.app.lib_name,value为cocos2dcpp,在project中可以获取到该值
android:configChanges=”orientation” 配置后,该事件被接收后,如果没有处理,这个事件就被丢弃了。
ACTION_MAIN:Android Application的入口,每个Android应用必须且只能包含一个此类型的Action声明。
CATEGORY_LAUNCHER:设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN配合使用。
uses-permission android:name=”android.permission.INTERNET”:当需要访问网络的时候,需要在AndroidManifest.xml里面添加访问网络的权限
src文件夹中的org.cocos2dx.cpp.AppActivity
创建了一个继承于Cocos2dxActivity类的activity AppActivity(在我的另外一篇文章站在Android App开发者角度分析template project之proj.android(2)会详细介绍Cocos2dxActivity类)
assets
包含一些图片资源和字体资源
bin
理论上应该放置生成文件,比如apk的,但是现在里面是空的
gen
R.java可以看到所有经过编译的资源信息,BuildConfig.java可以看到debug模式
jni
JNI文件夹是SDK编程与NDK编程的接口
Android.mk:call import-add-path,修改NDK_MODULE_PATH(为设置NDK_MODULE所用);LOCAL_MODULE指明module name,不能相同;LOCAL_MODULE_FILENAME设置模块的二进制文件名称,可以相同,帮助你用你的NDK构建脚本选择正常或者优化版本,保持Java源代码中相同而且简单的加载指令;LOCAL_SRC_FILES、LOCAL_C_INCLUDES指明编译所需要的源文件、头文件;LOCAL_STATIC_LIBRARIES引入静态库;include $(BUILD_SHARED_LIBRARY)告诉编译器要生成动态库、call import-module通过NDK_MODULE_PATH引入module,在这里将cocos2d中的所有路径基本上都包进去了,然后在java层可以调用cocos2d中的jni对应的cpp文件
application.mk里面设置了一些变量
main.cpp中使用AppDelegate类,实例化了一个对象(在我的另外一篇文章站在Android App开发者角度分析template project之proj.android会详细介绍AppDelegate类)
lib
理论上lib文件夹中英文存放的是JNI文件夹中通过NDK生成的native lib,但是现在里面只有2个gdb相关的文件
obj
obj文件夹里面是很多的中间文件,不会打包到apk中,可以留着下次编译时只会编译修改后的文件,删了就要从头开始编绎了
res
res文件夹中根据分辨率不同,区分放着大大小小的图片资源,布局文件以及变量文件