首页 > 其他分享 >android单独编译framework模块

android单独编译framework模块

时间:2022-12-30 16:14:40浏览次数:38  
标签:编译 xxx system framework services android arm out

一、如果修改了 frameworks/base/services 目录下的代码,比如你在PhoneWindowManager修改了部分代码,这时候可以通过单编译的方式快速烧录到指定机器,无需系统全编

前提:如果需要单编译,需要先全编一下系统,再进行单编译

步骤:

1.首先需要进入frameworks/base/services下,打开Android.bp

java_library里面的name:services,这个services就代表模块名

然后通过make -j12 services,将生成的如下文件全部替换到板子上并修改权限

out/target/product/xxx/system/framework/oat/arm/services.odex
out/target/product/xxx/system/framework/oat/arm/services.vdex
out/target/product/xxx/system/framework/oat/arm/services.art

out/target/product/xxx/system/framework/services.jar.prof
out/target/product/xxx/system/framework/services.jar


板子上对应的文件:

system/framework/oat/arm/services.art
system/framework/oat/arm/services.odex
system/framework/oat/arm/services.vdex

system/framework/services.jar
system/framework/services.jar.prof


替换掉之后执行sync,然后reboot重启

二、如果修改了 frameworks/base/ 目录下的代码,同上一样,进入到frameworks/base/下的Android.bp

可以看到模块名是framework,srcs下包括了很多目录下的java文件

然后通过make -j12 framework编译到out下

out/target/product/xxx/system/framework/framework.jar
板子上的文件

system/framework/framework.jar
1.可以拷贝到U盘后,通过命令 console:/ # cd mnt/media_rw/sda1/进入到U盘拷贝到板子

没有权限则执行 mount -o rw,remount /

2.可以adb push

标签:编译,xxx,system,framework,services,android,arm,out
From: https://www.cnblogs.com/yuanqiangfei/p/17015128.html

相关文章

  • Android笔记--为活动补充附加信息
    利用资源文件配置字符串具体实现:利用元数据传递配置信息给应用页面注册快捷方式Label属性,需要定义到strings.xml文件里面去:......
  • Android笔记--在活动之间传递消息
    显式Intent和隐式IntentIntent--各个组件信息沟通的桥梁组成部分:显式Intent:--精确匹配具体实现:1、在Intent的构造函数中指定2、调用意图对象的setClass方法指定......
  • VC6 编译报错 spawning link.exe
    报错背景我之前把D盘的VC6拷贝到E盘,后面点击“Compile”或者“Build”后被出现的“Compiling...,Errorspawningcl.exe”解决VC6比较古老了,它可能只在第一次使用的......
  • 编译 partclone
      make缺少   https://www.openssl.org/source/https://github.com/openssl/openssl 下载openssl编译,参考:https://www.pudn.com/news/634bf8002aaf6043......
  • 面向分布式强化学习的经验回放框架——Reverb: A Framework for Experience Replay
    论文题目:Reverb:AFrameworkforExperienceReplay地址:https://arxiv.org/pdf/2102.04736.pdf   框架代码地址:https://github.com/deepmind/reverb   ......
  • Android笔记--Activity--启停活动页面
    Activity启动从当前页面跳转到新的页面:startActivity(newIntent(原页面.this,目标页面.class))而若是从当前页面返回到上一个页面,相当于关闭当前页面,使用finish()代码返......
  • Vue项目编译报错 'error:03000086:digital envelope routines::initialization error'
    升级了本地的nodejs版本,导致旧项目无法运行,运行提示如下。   原因是nodejs版本过高。解决办法:降低node.js版本......
  • VS2022支持.NET Framework4.0的解决方法
    问题描述VS2022打开的项目提示:找不到.NETFramework,Version=v4.0的引用程序集。要解决此问题,请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。原......
  • Android开发环境搭建
    现在主流的Android开发环境有:①Eclipse+ADT+SDK②AndroidStudio+SDK③IntelliJIDEA+SDK现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官......
  • chibicc——可能是可读性最强的 C 编译器
      https://github.com/rui314/chibicc https://zhuanlan.zhihu.com/p/490307409 chibicc是一个实现了大多数C11特性的C编译器,整体不到一万行的情况下,可以完......