当前位置: 代码迷 >> Android >> 针对android4.0之上版本的源码编译的out/target/product/./obj文件的作用
  详细解决方案

针对android4.0之上版本的源码编译的out/target/product/./obj文件的作用

热度:128   发布时间:2016-04-28 04:13:24.0
针对android4.0以上版本的源码编译的out/target/product/.../obj文件的作用
现在有一个疑惑
编译android4.0以上版本的源码,经常能够看到out/target/product/.../obj里面的文件怎么怎么滴的
文件夹的作用不是很清楚
obj文件夹的目录结构如下:
---APPS
---ETC
---EXECUTABLES
---FAKE
---GYP
---JAVA_LIBRARIES
---KERNEL_OBJ
---NOTICE.html
---NOTICE.html.gz
---NOTICE.txt
---NOTICE_FILES
---PACKAGING
---SHARED_LIBRARIES
---STATIC_LIBRARIES
---UTILITY_EXECUTABLES
---hardware
---include
---lib


这个obj文件夹的功能我希望能够有朋友帮忙解惑!哪怕是拿出其中的一个单独的子文件夹解惑也是感激不尽的!谢谢
------解决方案--------------------

首先说明,我也是个新手,个人理解说一点吧,不一定全对,仅供参考
如上图,我的是4.2系统,编译后在obj下有三个文件夹,分别是APPS,JAVA_LIBRARIES和PACKAGING,
其中APPS,我个人理解是这里放着你的系统中要编译的APP源码转成apk的中间文件,比如.java会在这个文件夹下变成.class,还有一些jar包和dex我就不知道怎么说了

然后JAVA_LIBRARIES,看名字就知道大概了,是放一些系统编译的时候生成的库文件(jar包),比如framework_intermediates,这个文件夹下有classes.jar这个jar包,(其实每个文件夹下都有一个classes.jar的),我把它放到
eclipse目录是这样的:

看目录你就应该知道这个jar是什么了吧,像有些芯片厂商一般会在系统代码下写很多自己的代码,然后在这个下面也会生成
响应的jar包,如果我们在eclipse写应用的时候用到厂商自己定义的接口和一些组件的时候会报错的,因为eclipse加载的jar是
google标准的,并没有包含厂商写的那一部分,这个时候你就可以到这里找到相应的jar包,比如我这里有一个文件夹:
com.mstar.android_intermediates,这下面的jar包就是MStar芯片商写的代码生成的jar包,我导入eclipse后就可以使用相关
的类了

我就知道这些啦,不一定有帮助,哈哈
  相关解决方案