Game_______src(游戏逻辑c/c++代码)

|
|___proj.android(java工程文件夹)________jni(mk文件,java中使用的接口c/c++文件)
|
|___src(java代码,入口函数,Activity类等等)
|
|___....一系列java工程目录文件
Engine______*.cpp
|
|__Android.mk
|
|__platform____android_____jni(java调用c/c+ +的函数定义及实现;c/c++调用java的实现)
|
|_____java(java工程目录,生成一个java包,定制java层的实现机制)
|
|_____*.cpp(不知道啥含义,可能是需要调用jni中,c/c++调用java的实现吧,不同平台调用各自的接口文件,所以不同目录)
LOCAL_STATIC_LIBRARIES
is only makes sense in shared library modules
这是官方文档中的一句话,本来很疑惑,因为cocos2d-x中的cocos2d_static依然在其Android.mk文件中使用了该LOCAL_STATIC_LIBRARIES标签,将extension等一些拓展库引用了进来,最后sh cocos2d-x提供的一个native-build脚本成功把helloworld编译成功,并且可运行.所以就怀疑文档的正确性了.
接着自己试验,在一个BUILD静态库的mk中LOCAL_STATIC_LIBRARIES,(小插曲:NDK_MODULE_PATH需要提供,因为$(call import-module,importlib)的时候,importlib是NDK_MODULE_PATH中提供的路径下的一个文件夹在其中搜索Android.mk文件,然后LOCAL_STATIC_LIBRARIES的时候,在这些Android.mk文件中搜索有无BUILD的该lib然后编译.NDK_MODULE_PATH可以填写多个,以分号隔开,一般是在ndk-build NDK_MODULE_PATH=***:***:**)
然后ndk-build,无果...如果不设置一些选项,只会去搜索jni文件下的Android.mk,按这种目录存放,编译还是没有.o和.a文件生成,最后还是Google帮了忙,虽然方法很明确但是没有把为什么说清楚,方法就是在Application.mk文件中指定APP_MODULES:=1*** 2***, 而文档中是说,不指定该值,会去build所有的module..看来,static不再这个范围中.
cocos2d-x中,cocos2d-static最终是被game.so这个动态库包含,那么是不是意味着,静态库中的LOCAL_STATIC_LIBRARIES会在最中的so的mk中被展开,解析.其实这个时候cocos2d-x的mk文件依赖关系已经说明了这个现象,但是还是自己写一遍,然后生成了一个so文件,使用nm -D查看生成的so库中的符号,已经包含了直接依赖的static library中的函数以及static library中依赖的另一个static library中的函数.

转载于:https://www.cnblogs.com/wang37921/archive/2013/04/09/3009980.html

cocos2d-x jni相关目录分析相关推荐

  1. Android——Framework目录分析及系统启动过程以及目录简介

    转自:http://blog.csdn.net/cubelee/article/details/7392552 1.目录树 /framework/base/api  /framework/base/a ...

  2. R语言使用pwr包的pwr.r.test函数对相关信息分析进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量

    R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效用值 ...

  3. R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis)的语法

    R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis)的语法 目录

  4. android 中 Proguard 和JNI 相关

    在Android项目中用到JNI,当用了proguard后,发现native方法找不到很多变量,原来是被produard优化掉了.所以,在JNI应用中该慎用progurad啊. 解决办法: 1.在An ...

  5. Linux 内核获取、初次编译、源码目录分析

    目录 Linux 内核获取 Linux 内核初次编译 Linux 内核源码目录分析 1.arch 目录 2.block 目录 3.crypto 目录 4.Documentation 目录 5.driv ...

  6. uboot的目录分析

    以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除. 一.文件分析 1.九鼎官方uboot和三星原版uboot对比 不同版本的uboot或者同一版本不同人移植的uboot,目录结构和文件内容都会 ...

  7. oracle目录解析,Oracle目录分析与比较

    当前位置:我的异常网» 数据库 » Oracle目录分析与比较 Oracle目录分析与比较 www.myexceptions.net  网友分享于:2015-08-26  浏览:1次 Oracle索引 ...

  8. android调试+及JNI相关

    原址 1.adb的使用 ./adb remount  //使得文件系统可读写 ./adb push 8188eu.ko /system/lib/modules  传输文件 调试真机: 需要知道usb的 ...

  9. iOS 8.1.2 越狱过程详解及相关漏洞分析

    360NirvanTeam · 2016/01/10 12:35 Author:[email protected] 0x00 简介 本文主要介绍了: 自己对越狱的理解 iOS 8.1.2 越狱工具的工 ...

最新文章

  1. SelectBox插件
  2. Deep Learning(深度学习)学习笔记整理系列
  3. 苹果树(线段树+Dfs序)
  4. [转]c++类的构造函数详解
  5. Java自动拆箱陷阱。 谨防!
  6. C++ 左值和右值 的学习
  7. 两种查找bapi的方法
  8. LeetCode -- 推断链表中是否有环
  9. matlab maple函数用法,怎样在matlab中调用maple命令
  10. vs2008 sp1
  11. 【工业互联网】工业发展的痛点体现在哪里?如何整合边缘计算与云计算的优势来成就工业智能?
  12. 【C语言】 C 语言 关键字分析 ( 属性关键字 | 常量关键字 | 结构体关键字 | 联合体关键字 | 枚举关键字 | 命名关键字 | 杂项关键字)
  13. 自学习策略和Levy飞行的正弦余弦优化算法-附代码
  14. AM系列备自投保护装置在广州中山大学附属 第一(南沙)医院配电工程中的应用
  15. 电脑显示器基本设置与故障处理
  16. Razer雷蛇7.1声音驱动卸载后无法安装问题
  17. “5G通达,AI赋能“ AI在网络规划中的应用实践(人工智能应用案例)
  18. JDBC与JAVA程序笔记
  19. 关闭虚拟机linux防火墙命令
  20. 参数函数 matlab,MATLAB的函数参数

热门文章

  1. nginx http proxy 正向代理
  2. linux:scp命令
  3. CyclicBarrier(回环栅栏)
  4. LISP标注路线桩号_CAD插件标桩号的AutoLISP程序语言求解释并译成中文,谢谢
  5. php函数删除非空目录,删除文件夹(非空目录)及其中所有文件的思路及源代码
  6. Flink 分别读取kafka和mysql作为source
  7. Apache Flink 零基础入门(十三)Flink 计数器
  8. 小体积神器!这款不到500KB的电脑软件,功能也太赞了!
  9. python点操作符语法_最基础的python语法
  10. html安卓关闭输入面板,tabletpc输入面板关闭不了怎么办(tablet pc输入面板关闭方法)...