Debug 系统应用时,导入到 AS 会有大量报红代码,基本都是 framework 和新增模块的,需要导入对应的 jar 包才方便代码查看和跳转。

一般来说,使用 Android 源码全编译之后,
会生成 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar

这个就是我们需要的 framework.jar (重命名一下),导入到 AS 里后,相关的代码就不会报红了。

但有些代码编译之后没有生成这个,
生成的是 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-header.jar
这个不是我们需要的。
导入到 AS 里,相关的代码还是会报红。

既然有源码,自己编译生成 framework.jar 试试。

在已经编译过的代码上,执行如下命令编译,

make javac-check-framework

Android 源码编译使用 jack 编译的。
javac-check 是指用 javac(而非 jack)编译 java文件或模块,需要在已经完整编译后使用。
make javac-check-framework 意思是用 javac 编译 framework 模块。
javac 编译 framework 模块 可以生成 jar 包。

会生成如下文件,

out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
out/target/product/<product_name>/obj/JAVA_LIBRARIES/framework_intermediates/javalib.jar

前者就是我们需要的。

扩展,

对于其他模块,对应的 jar 包生成路径是

out/target/common/obj/JAVA_LIBRARIES/xxx_intermediates/classes.jar

xxx 就是对应的模块的名字,如 android-support-v7-recyclerview_intermediates 。

对于 app ,对应的 jar 包生成路径是

out/target/common/obj/APP/appname_intermediates/classes.jar

app_name 就是 app 的名称,如 SystemUI_intermediates 。

Android 源码编译生成framework.jar相关推荐

  1. Android源码分析 - Framework层的Binder(客户端篇)

    开篇 本篇以aosp分支android-11.0.0_r25作为基础解析 我们在之前的文章中,从驱动层面分析了Binder是怎样工作的,但Binder驱动只涉及传输部分,待传输对象是怎么产生的呢,这就 ...

  2. android 自编译 img,android源码编译生成ramdisk.img和system.img解压和使用(基于海天雄A9+android2.3.3)...

    bin.tar.gz里有simg2img和make_ext4fs两个工具. 一.解压和打包system.img ./simg2img system.img system.img.ext4 生成ext4 ...

  3. android framework资源,android源码framework下添加新资源的方法

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/re ...

  4. android源码编译jar,在android源码编译中导入第三方jar包

    源码编译,我们可以只留下app的src,res目录和androidmanifest.xml文件,在app的根目录添加一个android.mk文件,还有我们需要导入的jar包,我这里是libjsoup- ...

  5. 自己动手调试Android源码(超简单)

    在自己动手编译Android最新源码一文中,我们为自己编译了一份最新的Android源码.很多时候,我们编译源码的目的不仅仅是尝试一番,而是希望对其进行调试,并修改源码,看看其中一些关键机制的运行原理 ...

  6. 速通AOSP,成功编译调试Android源码

    /   今日科技快讯   / 近日据不少网友反馈,爱奇艺App开始对投屏功能作出限制,之前黄金VIP会员支持最高4K清晰度投屏,现在只能选最低的480P清晰度,要想进行4K投屏必须购买白金VIP会员. ...

  7. android源码编译1

    一.环境说明: 1.liunx系统:Ubuntu12.04 2.jdk:sun-java6-jdk 3.g++4.5 gcc4.5 二.android源码的目录结构 |--Makefile|--bio ...

  8. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  9. Android 源码目录结构

    android平台四层架构对应源代码中的目录: 第一层:应用程序层(applications)对应根目录下packages/apps 第二层:应用程序框架层(application framework ...

  10. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

最新文章

  1. 几个不错的开源的.net界面控件
  2. 使用cert-manager实现Ingress https
  3. 图片无法删除要计算机管理员,存在桌面的图片删不掉,怎么处理?提示是需要管理员权限。...
  4. 中文词语概念上下位图谱项目
  5. JAVA入门级教学之(标识符与关键字)
  6. 2013年4月管理计算机应用,全国2013年4月高等教育自学考试管理系统中计算机应用试题及答案...
  7. 编译安装MongoDB以及安装PHP的mongodb扩展
  8. singleflight包原理解析
  9. linux 没有 分区表,在Windows下分区,安装linux,分区软件肿么没有linux swap 这个选项?...
  10. SharpGL中Finish和Flush的区别
  11. Google的自定义搜索-GOOD!
  12. 相机变换AND正交投影AND透视投影
  13. 短线王的盯盘宝怎么样_股票盯盘系统app怎么样
  14. offsetof 详解
  15. C语言程序设计(第三版)
  16. 盘点2020年网红品牌营销案例,它们刷屏凭什么?
  17. linux磁盘加密bitlocker,亲身体验Windows 2008 Server R2下的BitLocker驱动器加密
  18. 还在if-else行走天下?试试【策略模式】吧
  19. 原来raw转换成jpg格式很简单,只要掌握这个技巧
  20. 期望、方差、协方差、协方差函数、期望函数、方差函数

热门文章

  1. 【P4lang】P4数据平面编程实验basic_tunnel
  2. 最大公约数和最小公倍数(深入理解)
  3. <Java>设计一个名为Fan的类
  4. 数据有效性跨表引用的解决
  5. Windows10 开机密码破解
  6. iPhone无法更新,一直卡住在“验证更新中”,如何处理?
  7. 传奇服务器系统版本,[资料]服务端详细解释
  8. 基于STM32和阿里云的智能家居
  9. VXLAN的广播域BD。
  10. 读《大数据时代:生活,工作与思维的大变革》