当前位置: 首页 > wzjs >正文

浙江建设报名网站提供手机网站建设

浙江建设报名网站,提供手机网站建设,常州网站建设开发,厦门网站搜索引擎优化书接上回:Android SDK 1(概览)-CSDN博客 今天讲讲三个实际练手内容,用的是瑞星微的sdk。 1 实操编译Android.bp 首先还是感叹下,现在的系统真的越搞越复杂,最早只有gcc,后面多了make&#xf…

书接上回:Android SDK 1(概览)-CSDN博客

今天讲讲三个实际练手内容,用的是瑞星微的sdk。

1 实操编译Android.bp

首先还是感叹下,现在的系统真的越搞越复杂,最早只有gcc,后面多了make,后面又是cmake。谁知道在android时代,愈发的变本加厉。感觉现代计算机的发展真的要推翻重来才行了。。。(个人觉得AI引入绝对是个利器。。。)

吐槽归吐槽,为了生活该学的还是要学。

Android的编译系统以前还是makefile,后面就换成ninja,跟着也是引进一大片。大致有以下几个东西。Ninja,编译框架,以前项目也用过,cmake直接生成,基本不可见。Android.bp,感觉有点类似CMakeLists.txt。Soong,将bp文件转成ninja文件,应该就是cmake。Blueprint是解析bp文本的。算是Soong的一部分,不用管。Kati是转换mk文件的,现在可以忽略,不用管。

所以要懂的只有两个。1 安卓的编译打包命令以及相关脚本。2 Android.bp的语法。

在/rk3568_android_sdk/external/test,增加了一个hello.c。用GPT生成了一个小的bp文件。

Android.bp

// 该模块的名称为 "hello"
cc_binary {// 指定生成的可执行文件的名称name: "hello",// 指定源代码文件的路径,这里假设源代码文件为 hello.csrcs: ["hello.c"],// 指定编译时的标志cflags: ["-Wall", "-Werror"],// 指定链接时的标志ldflags: ["-lm"],
}

hello.c

#include <stdio.h>void main()
{printf("Hello android!\n");
}

编译生成:

make name,我在bp里面定义name是hello,所以命令就是make hello

感觉这块比标准make复杂很多,要解析文本还有目录结构。以后有空再看看吧。对了,一定要先运行source build/envsetup.sh还有lunch。本来我以为lunch不用,结果会出现使用系统自带make的情况,就会失败。

照理说mmm hello也可以,不过在我这就是不行,可能是内存不够的原因。另外make clean也失败。。。

2 实操增加一个App

在packages/apps/中增加一个文件夹,myapp。

创建Android.bp

// packages/apps/MyApp/Android.bpapp {name: "MyApp",srcs: ["src/**/*.java"],resource_dirs: ["res"],
}

在device/xxx/common/device.mk中(xxx就是对应的产品),增加MyApp到PRODUCT_PACKAGES中。

理论上App就增加进去了。(因为我是在笔记本上弄的,资源实在不够,整体编译过不了。只有等回去在台式机再实操。)

3 实操增加一个设备

这个东西就很多了。因为环境和时间原因,还没来得及实操。我参考的, 写的很好,不过感觉像是国外搬运来的?(Android新增LED设备--从底层到上层理解安卓架构_rockchip leds 源码-CSDN博客)

看了看流程:

驱动层还是ko,老套路。

HAL的so加在hardware/libhardware/modules/Android.mk

service是一个服务进程。通过ioclt访问底层,向上提供JNI接口,用HAL_MODULE_ID给Framework匹配。(这个也就是吹爆的HAL解绑吧)

理论上增加设备到此为止。

===============================================================

在Framework中增加服务。frameworks/base/services/core/java/com/android/server/,向下是JNI,向上是aidl。

最后,app通过aidl去访问Framework中的服务。

实在困了。。。


文章转载自:

http://iO2GjjD4.gpxqr.cn
http://BE4PtB8k.gpxqr.cn
http://hbLgb1Lf.gpxqr.cn
http://dmeMVcYh.gpxqr.cn
http://iewJ5NYK.gpxqr.cn
http://XEwl88kE.gpxqr.cn
http://ih8I1ZdP.gpxqr.cn
http://VmQAAFvj.gpxqr.cn
http://AA5McyC8.gpxqr.cn
http://zbxrRYsc.gpxqr.cn
http://c85s8lWh.gpxqr.cn
http://W6bfcJDm.gpxqr.cn
http://OZMqunKO.gpxqr.cn
http://fAyWuwgT.gpxqr.cn
http://nBOR3Nes.gpxqr.cn
http://rvijERnb.gpxqr.cn
http://RaV6AdvR.gpxqr.cn
http://pWxZuYmV.gpxqr.cn
http://Jo5ltrCO.gpxqr.cn
http://m2v02oB2.gpxqr.cn
http://kfYsYpI7.gpxqr.cn
http://szYkRoNe.gpxqr.cn
http://cmYLqWK6.gpxqr.cn
http://UPeOWOK6.gpxqr.cn
http://YLBsOdlV.gpxqr.cn
http://flZ4U52O.gpxqr.cn
http://AB4Dfy71.gpxqr.cn
http://o9zR83Kd.gpxqr.cn
http://XddG9Mkq.gpxqr.cn
http://nhIS9wXG.gpxqr.cn
http://www.dtcms.com/wzjs/721568.html

相关文章:

  • dede 网站地图 插件广州番禺区号
  • 网站开发提供的服务网站建设哪个平台最好
  • 网站无后台添加后台wordpress进后台慢
  • 电子商务网站开发的目的是什么厦门网络科技有限公司
  • 第一页网站SEO高端品牌鞋子
  • 做网站的协议书和计划书wordpress页面静态化
  • 西安推广网站珠江摩尔网站建设
  • 注册公司的网站初期做网站
  • 个体户 网站建设不能用于制作网页
  • 给自己企业怎么做网站深圳公司网站备案
  • 做旅游门票网站需要什么材料重庆市建设工程信息网安全
  • 邵阳高端网站建设集团网站建设基础方案
  • 佛山有什么网站办公室装修设计简约
  • 经典重庆网站女性适合开什么工作室
  • 网站备案期间 搜索引擎下载并安装app
  • 阳西县住房和城乡建设部网站html网页制作网站
  • 百度上的广告多少钱一个月合肥网站优化
  • wordpress无法显示主页内容上海单个关键词优化
  • wordpress 禁止评论河北seo网站优化价格
  • 怎样不用代码就能建网站百度快速seo软件
  • 中小企业网站建设与管理课件百度云安阳网站seo
  • 深圳微信分销网站公司淄博专业网站建设
  • 长春一大网站网页游戏开服
  • 对网站建设的讲话室内装饰设计费收费标准
  • 教育网站开发报告主机做网站工具
  • 美食网站开发的目的和意义wordpress 仿手机商城
  • wordpress 机械网站优化对企业有什么好处
  • 杭州公司网站html做的小网站
  • 网站建设太仓《新闻联播》 今天
  • 兴仁县城乡建设局网站如何能把网站做的更大