公司代码下载和编译、安装到设备教程

173 阅读3分钟

代码下载

  1. 首先要在自己的服务器中创建对应的项目目录,要在这个目录中执行下面的操作

image.png

依次执行以上三条命令,第二条命令是下载代码,执行时间会比较长。

全部编译

image.png

注意:方式二要在两个窗口中分别同时编译QSSI和Vendor,节省时间

我用的方式一编译,因为感觉比方式二简单。 方式一或者方式二结束后要Build super Image,然后再执行打包的命令,执行完后会生成RELEASE文件夹,就ok了

单独编译

像我如果要修改平板Setting里面的东西,就需要编译以下目录:

image.png

image.png

lunch的参数一般为false和WW。

如果单独编译某个模块的话,编译完不需要跟全编一样再去merge和打包了,编译完就结束了。然后再使用adb install命令安装到设备就可以了,也不需要刷机了。而且如果是在putty中执行的话,编译时source和lunch命令貌似只需要执行一次就可以了,不用每次编译之前都执行。

经过尝试,mmm 编译模块后总是会出现错误,而且是test包下的错误,估计不是自己代码的问题,我也不知道。 但是make命令可以,make命令不用加包名,直接make + 对应的模块名,注意,这个模块名不是模块文件夹的名字,而是模块目录下Android.bp文件中android_app中的name

android_app {
    name: "Settings",
    ......
}

image.png

image.png

这里需要注意,貌似编译时必须要在这个android目录下运行make命令才可以

adb install安装到设备

当上一步编译成功后,会显示编译结果的路径

image.png 然后我们到相应目录下执行以下命令就可以了(要注意路径问题)

adb install -r out/target/product/qssi/system_ext/priv-app/Settings/Settings.apk
// 参数 -r 的含义是覆盖原有的apk

image.png

adb push安装到设备

因为修改了packages/modules中的内容,不同于之前修改packages/apps中的内容,之前修改apps中的内容可以使用adb install命令,但是这里不行,会报错。报错信息指出,尝试安装的 APK 是一个持久应用(persistent app),而持久应用是不可更新的。

image.png 所以只能使用adb push。 使用adb push之前要先执行adb root和adb remount命令。

image.png 而且第一次执行完adb remount后可能会提示你reboot重启,注意观察提示结果。而且重启后可能要再来一次adb root和adb remount。反正这里比较反复,不行的话adb root和adb remount多试几次。 然后就可以使用adb push 编译的apk结果路径 设备目标路径。要注意编译的apk结果路径和设备目标路径要对应,system对system,apex对应apex。而且设备目标路径要注意存不存在,之前我就试过,设备目标路径不存在,但是push成功了,但是,在我重启设备后就死机了,一直卡在了开机界面。 就先这样吧,只是简单记录,害怕自己第二天忘了,但是我的问题依旧没有解决。

说明

以上内容是自己的一些参考,还没有实践过,不知道对不对。