代码下载
- 首先要在自己的服务器中创建对应的项目目录,要在这个目录中执行下面的操作
依次执行以上三条命令,第二条命令是下载代码,执行时间会比较长。
全部编译
注意:方式二要在两个窗口中分别同时编译QSSI和Vendor,节省时间
我用的方式一编译,因为感觉比方式二简单。 方式一或者方式二结束后要Build super Image,然后再执行打包的命令,执行完后会生成RELEASE文件夹,就ok了
单独编译
像我如果要修改平板Setting里面的东西,就需要编译以下目录:
lunch的参数一般为false和WW。
如果单独编译某个模块的话,编译完不需要跟全编一样再去merge和打包了,编译完就结束了。然后再使用adb install命令安装到设备就可以了,也不需要刷机了。而且如果是在putty中执行的话,编译时source和lunch命令貌似只需要执行一次就可以了,不用每次编译之前都执行。
经过尝试,mmm 编译模块后总是会出现错误,而且是test包下的错误,估计不是自己代码的问题,我也不知道。 但是make命令可以,make命令不用加包名,直接make + 对应的模块名,注意,这个模块名不是模块文件夹的名字,而是模块目录下Android.bp文件中android_app中的name
android_app {
name: "Settings",
......
}
这里需要注意,貌似编译时必须要在这个android目录下运行make命令才可以。
adb install安装到设备
当上一步编译成功后,会显示编译结果的路径
然后我们到相应目录下执行以下命令就可以了(要注意路径问题)
adb install -r out/target/product/qssi/system_ext/priv-app/Settings/Settings.apk
// 参数 -r 的含义是覆盖原有的apk
adb push安装到设备
因为修改了packages/modules中的内容,不同于之前修改packages/apps中的内容,之前修改apps中的内容可以使用adb install命令,但是这里不行,会报错。报错信息指出,尝试安装的 APK 是一个持久应用(persistent app),而持久应用是不可更新的。
所以只能使用adb push。
使用adb push之前要先执行adb root和adb remount命令。
而且第一次执行完adb remount后可能会提示你reboot重启,注意观察提示结果。而且重启后可能要再来一次adb root和adb remount。反正这里比较反复,不行的话adb root和adb remount多试几次。
然后就可以使用
adb push 编译的apk结果路径 设备目标路径。要注意编译的apk结果路径和设备目标路径要对应,system对system,apex对应apex。而且设备目标路径要注意存不存在,之前我就试过,设备目标路径不存在,但是push成功了,但是,在我重启设备后就死机了,一直卡在了开机界面。
就先这样吧,只是简单记录,害怕自己第二天忘了,但是我的问题依旧没有解决。
说明
以上内容是自己的一些参考,还没有实践过,不知道对不对。