缺省情况下,android 6.0的编译过程会优化framework.jar,这导致所有系统启动相关的文件(比如service.jar)一起打包到boot.oat中打包,并引入了checksum机制,无法单独针对一个文件进行修改。

framework单独编译方法1:

为了方便调试,最便捷的方法就是在device目录下修改BoardConfig.mk(我的目录是android/device/softwinner/tulip-p1/BoardConfig.mk):

[plain] view plain copy
  1. WITH_DEXPREOPT := false

通过mm -B在android目录中重新编译

通过pack -d打包生成img

重新烧录img后会发现/system/framework/framework.jar不再是309字节。

service.jar的烧录方法类似。

每次编译完成后所有的install文件都必须找到对应的目录重新覆盖。

framework单独编译方法2:

如果坚持采用AOT优化模式编译,无法重新烧录映像,就必须在每次编译完成后把所有的install文件全部重新覆盖到设备中。

这种方式下,需要覆盖的文件至少包括以下文件/目录:

boot.art,

boot.oat,

oat,

arm,

arm64

android6.0单独编译和调试framework源码的方法相关推荐

  1. ubuntu编译并调试OpenJDK8源码实践

    最近打算研究一下 jvm 相关的知识,所以想编译 OpenJDK 的源码,一直在Mac上面编译,但是总是出现莫名其妙的error,还找不到有效的解决方式,所以还是进入 Ubuntu 下面进行编译,虽然 ...

  2. Android6.0的SMS(短信)源码分析--短信接收

    1     SMS接收流程 Android6.0中对短信的处理比起老版本还是变化有点大的.在分析源代码之前,我们可以先猜测一下Android中接收短信的大致流程.首先根据之前分析phone应用的经验, ...

  3. Windows上VS2017单步调试FFmpeg源码的方法

    之前在https://blog.csdn.net/fengbingchun/article/details/90114411 介绍过如何在Windows7/10上通过MinGW方式编译FFmpeg 4 ...

  4. Android6.0的SMS(短信)源码分析--短信发送

    1     SMS发送流程 1.1   SmsManager Android发送短信的接口可以认为是SmsManager,当然并不是所有的App都可以发送短信的,必须配置相关的权限.App中可以通过S ...

  5. android 4.0模拟器启动不了,Android 4.0 framework源码修改编译,模拟器运行不起来,求助...

    当前位置:编程学习 > wap >> Android 4.0 framework源码修改编译,模拟器运行不起来,求助 我下载编译了android 4.0 ICS的源码,然后能利用编译 ...

  6. VS2010 C++下编译调试MongoDB源码

    考虑到mongodb使用了boost库源码,参考mongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本:             boost版本1.42:    ...

  7. Android 笔记 android 7.0 单独编译framwork不生效的解决

    android 7.0 单独编译framwork不生效 以前android 5.0系统单独编译时,只需要将out/target/product/sim6737t_66_m_n/system/frame ...

  8. 后端开发工具:反编译工具、VS插件、.NET Framework源码地址

    再学习.工作中,开发免不了要使用第三方工具.今天介绍2款反编译工具 一.dnspy 免安装.免费.可调试.可修改重新编译dll 开源项目地址:https://github.com/0xd4d/dnSp ...

  9. ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装

    Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...

最新文章

  1. xshell登录VMware虚拟机的初始设置
  2. 【错误记录】Groovy 闭包使用报错 ( 闭包中不能直接使用外部对象的方法 | 需要先设置 delegate 代理 )
  3. elasticSearch6源码分析(9)ActionModule
  4. 计算 的程序java_数学表达式计算程序(java)
  5. Android之检查跳转的Activity是否存在
  6. C#sharp 必须扩展的知识点
  7. GeoServer使用CSS渲染地图
  8. matlab 课程设计循环码性能分析,matlab课程设计--循环码的性能分析
  9. 【ES】ES 运用search_after来进行深度分页
  10. 二叉搜索树 java版
  11. C、C++实现 -- 字符串分割函数split
  12. Java:集合,Array、Collection(List/Set/Queue)、Map的遍历,比如:ArrayList,LinkedList,HashSet,HashMap...
  13. 80386 保护模式
  14. 虚拟化和禁用安全启动的设置
  15. 《新时代的中国青年》白皮书——一个90后的自白
  16. postgres 坐标_用postgreSQL做基于地理位置的app(zz)
  17. Excel添加按键运行宏
  18. ballerina 学习 三十二 编写安全的程序
  19. redis分布式锁的安全性及与zookeeper的对比
  20. ThreadPoolExecutor线程池及参数介绍

热门文章

  1. python右对齐函数_python右对齐的实例方法
  2. java导出excel_如何导出你和女票的微信聊天记录
  3. Xshell连接服务器出现(To escape to local shell, press 'Ctrl+Alt+]'.)问题、xshell终端中文乱码完全解决方法
  4. Win7 安装资料及教程
  5. C++手册_迅为干货 | C程序调用shell
  6. chart.js 饼图显示百分比_Echarts饼图展示车站客流占比图
  7. gitlab新建项目_基础架构之GitLab
  8. 项目中使用completablefuture_“工业冷冻用中大型冷盐水机组使用R290替代R22项目”通过验收...
  9. js把word转html在线预览,js实现word转换为html
  10. android socket通信如何抓取,安卓Socket通信实例(客户端、服务端)