CM android的CMUpdater分析(一)-阿里云开发者社区

开发者社区> 陈洪波> 正文

CM android的CMUpdater分析(一)

简介: 版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/51123507 (一):写...
+关注继续查看
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/51123507

(一):写在前面


目前正在从事一个项目,该项目需要修改CM android的CMUpdater源码,将更新程序修改为面向我们项目的程序.我们使用平时的IDE无法看到一些界面等实时预览,所以我们准备使用eclipse来进行项目的修改.由于CMUpdater是系统应用,所以我们将CMUpdater导入到eclipse中的时候便会报错,其中包括android.jar中的hide api和internal api无法引用,还有layoutlib.jar未被引入到工程当中,所以在这一篇文章中,我们重点描述如何来搭建我们的系统应用的开发环境.

(二):环境搭建过程


  1. 将CMUpdater导入到eclispe中
    对于CMUpdater来说,我们通过下面的流程来讲CMUpdater导入到eclipse中.
    1. 点击”File->New->Project…”进入下面的界面
      这里写图片描述
      2.选择”Android->Android Project from Existing Code”
      3.点击下一步,选择项目目录,点击finish完成程序导入
      我们来看一下导入后的结果:
      这里写图片描述
  2. 导入classes.jar
    1. 将项目导入到eclipse中之后,我们就会看到有很多错误,首先我们来导入class.jar,该class.jar是我们通过launcher或make命令将android源码编译完成之后获取到的,从目录android源码根目录->out->target->common->obj->JAVA_LIBRARIES->framework-base_intermediates->classes.jar中,将classes.jar复制到eclipse的CMUpdater目录下面的lib目录下面.
    2. 在eclipse的CMUpdater项目右键,选择properties,接着选择”Java Builder Path”,进入下面的页面:
      这里写图片描述
    3. 选择”Libraries”,选择右面的”Add Library…”,接着选择”User Library”,接着选择”User Libraries…”,再点击”New…”,最后输入库名称,例如”framework”,并选中”System Library”.点击确定之后,选择”add JARS…”,选择刚刚放到lib中的classes.jar文件,最后点击完成.
    4. 回到Build Path界面后,我们使该”framework”库向上移动到Android库的上面,以保证该库在Android库前面.下面看一下我的这个界面:
      这里写图片描述
  3. 导入layoutlib.jar
    我们以同样的方式建立一个layout库,将位于Android SDK/platforms/android-对应cm系统版本/data/layoutlib.jar导入到layout库中.最后完成.
  4. 准备开发
    通过上述方式,我们就能看到,新导入的CMUpdater项目的错误就已经不复存在了.

(三):下篇介绍


在下一篇文章中,我们就着重讲解CMUpdater的项目架构以及其实现方式.最后通过讲解,来完成项目的修改等操作.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文快速搞定Redis_数据类型及JavaApi操作
大家好,我是**ChinaManor**,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
9 0
计算机基础2 | 学习笔记
快速学习计算机基础2。
11 0
Vue 仿钉钉流程图(流程节点绘制 vue+Ant【如果用其他UI库需要替换几个组件】 附 demo)
# [这里是git地址](https://gitee.com/xiaoyaoluntian/imitating-dingding-flow-chart/tree/comdemo/)
6 0
Vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记)
Vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记)
7 0
计算机基础3 | 学习笔记
快速学习计算机基础3。
10 0
解决echarts地图geoJson报错问题(“echarts.min.js:45 Uncaught Error: Invalid geoJson format Cannot read prope”)
解决报错: 1.Invalid geoJson format Cannot read property ‘length’ of undefined 2 echarts.min.js:45 Uncaught Error: Invalid geoJson format Cannot read prope
6 0
Java classloader详解
Java程序并不是一个可执行文件,而是由很多的Java类组成,其运行是由JVM来控制的。而JVM从内存中查找到类,而真正将类加载进内存的就是ClassLoader,可以说我们每天都在接触ClassLoader,但是很多时候我们没有明白其执行的流程和原理。
6 0
冬季实战营第一期学习报告
通过五天学习与实操,对ECS云服务器入门、快速搭建LAMP环境、部署MySQL数据库、回顾搭建Docker环境和Spring Boot以及使用PolarDB和ECS搭建门户网站操作,对本期学习与实操的认识。
9 0
冬季实战营第一期:从零到一上手玩转云服务器实验报告
第一期主要进行了六次实验,分别是《动手实操ECS云服务器》、《动手实操快速搭建LAMP环境》、《使用ECS服务器部署MySQL数据库》、《通过workbench远程登录ECS,快速搭建Docker环境》、《从零搭建Spring Boot的Hello World》以及《使用PolarDB和ECS搭建门户网站》。首先远程登陆ECS实例,搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。然后配置及远程访问MySQL。冯晓帅老师在直播上带大家通过workbench登录ECS并快速搭建Docker环境,运行Spring Boot,最后安装WordPress并搭建博客。
9 0
冬季实战营第一期:从零到一上手玩转云服务器学习总结
冬季实战营第一期:从零到一上手玩转云服务器学习总结
7 0
+关注
222
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载