1)这三个文档在在什么时候会使用到,以及主要是涉及到了哪一块的知识
全程都会用到,涉及到了安卓源码编译的知识。
2).ProjectConfig宏的配置 ,这个在linux里面有什么用?
编译时第一个编译的文件,配置什么功能需要添加。
3)代码远程地址等等,这些是公司仓库,还是公共仓库,为啥有这么多个地址?
公司的仓库,不同CPU型号不同地址,方便代码管理。
4)zl目录在Android系统里面改变的是哪个地方,为啥加这个目录 user版本和eng版本的区别?
与其他客户的需求分开,并消除了git的多分支问题。
user(用户版) userdebug(我们常用) eng(底层,用来打印所有日志)
5)编译脚本的整编n等等命令在linux系统使用,整个公司有几个linux系统,还是说一个类型的主板用一个linux系统,另一种类型的主板就用另一个。这些Linux系统都是用的同一套命令吗?
10个Linux系统,远程登陆使用,基本一个人用一套系统。命令基本相同。
6).ZL20 内置文件有什么用?
7)编译入门和编译脚本两个文档就是更新安卓里面的配置,git入门就是让大家都看得到我的代码可以互相借鉴,我这样理解不知道有没有问题。
没有问题。
8)编译系统什么时候会去解析Android.mk文件,Android.mk文件中可以定义一个或多个模块,也可以多个模块使用同一个 .mk 文件,这里的模块指的是类似问题5那样的指令吗?
.mk文件是用来告知NDK,Build系统关于Source的信息。
9)个人阅读难点:
这些文档给了解决方法,但不知道文档里面的东西在具体什么时候会用到,代码没注释看不懂
1)学Kotlin\C\NDK\JNI\Linux有必要吗?
1没必要
25有必要
34随你
2)后面用AS开发吗?
不用,用AS也就是来看源码的。
3)刚刚跟我们说的了解一下目录是Linux的目录吗?还是服务器下的目录?
他的问题
1)新手尽量别去push
2)如果不清理,a.java文件是上一个客户的,而我们要改的是下一个客户的b.java文件,a.java就会保存在out文件夹中,而下一个客户要默认的a.java文件即可。
3)现在尽量不要用push等。
4)不用创建新分支,公司只有一条主分支,不同差异在zl目录下。
5)action:n、lk、pl
6)安卓11版本发布时间:2020.9.9
12:2021.5.19
13:2022.2.11
14:2023.2.8
15:预计2023年底
1)了解安卓源码的目录对我们以后有什么用
2)在安卓源码我们修改最多的是哪个目录
3)对于安卓目录的烧录有什么比较好的方法可以节省编译烧录的时间
1)ro.build.display.id和ro.build.display.id,前者安卓镜像ID,后者用户显示的ID。这两个不一样吗?
2)buildinfo.sh脚本中将构建信息写入/system/build.prop文件的代码为啥看不到?
3)build\tools\buildinfo.sh怎么读取system/build.prop的构建信息?
第一种是使用 cat 命令读取 build.prop 文件,然后使用 grep 和 sed 过滤出所需的属性和属性值,并使用 export 命令将它们导出为环境变量。
第二种是通过 source 命令来读取 system/build.prop 文件的构建信息的。
我觉得是第二种但不确定。
4)是不是每次系统启动都只会加载system/build.prop 文件里面的系统属性?
设备里面的壁纸库有7、8张,但是我只放了一张默认壁纸在frameworks\base\core\res\res\drawable-sw600dp-nodpi中,那其他的壁纸是从哪里来的?
动态壁纸的路径在哪里呀?
要是有人跟我一起用同一份代码的时候,另一个人编译,我也编译,然后out目录编译的是哪一份代码。会出现这种情况吗?
- 上次那个蓝牙报错的log是怎么抓的?
adb logcat,网上很多教程,自己去找。
- 怎么用AS查看源码,想要 点击方法查看哪里被引用到,或者直接跳到具体实现类的那种?
只能打开某个文件夹,然后在这个类中点击,只能搜到这个java类里面含有的方法或者变量。
- 新建一个类,然后继承Service,源码是怎么调用这个类的?
你新建完就要去注册,注册完,就可以调用的到你这里面的方法了。
- 如果想要抓一个开机瞬间的log,可以抓的吗?
不能,上层应用的只能抓开机后的。这个问题抓的是kernel级别的,只能去硬件那里连接两根电源线来抓
- rom打包后的文件夹内的文件大概都是什么东西?
刷机用的
fae来搞TP一般流程是怎么搞的?
不关你事,你只要把机器和编好调试TP的软甲给他就行,然后你把TP的文件给他,帮你修改完就给你文件。
改成userdebug,7.0可以编个boot就行了,所以只有7.0能编个boot就行吗?8.1可以吗?
7.0只要BOOTIMAGE是userdebug版,其他镜像文件都是user就行。
8.1都要是userdebug
为什么直接复制文件过去,然后编译会编译不到,要更新时间戳才编译得到?
为啥apk闪退就直接把so库拿出来放到文件夹中就可以了?
为啥有时候就突然要更新api,是我们公司的人提交了什么吗,还是谷歌那边的?
TextView里面要打印日志应该要怎么打?