Ubuntu20.04 Compila el código fuente de Android 10 y graba el código fuente en la guía de pixel3 para evitar los hoyos

entorno de laboratorio

  1. Ubuntu20.04
  2. pixel3

Descarga el árbol de fuentes de Android

Para descargar el código fuente de Android, puede elegir descargar la última versión o puede descargar la rama especificada . Si puede utilizar Internet científico, se recomienda descargar desde el árbol de fuentes de Google. De lo contrario, se recomienda utilizar el espejo Tsinghua: https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ , el enlace al tutorial del espejo se ha dado en detalle, aquí no los repetiré uno por uno

  1. Descarga la herramienta de repositorio:
// 下载repo工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
  1. Después de instalar Repo, configure su propio cliente para acceder a la biblioteca de códigos: aquí debe registrar una cuenta de Google usted mismo
(1)创建一个文件夹用来存放源码
mkdir Pixel3
cd Pixel3
(2)使用google帐号和真实姓名去配置Git
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
(3)运行repo init 获取最新版本代码或者指定分支
repo init -u https://android.googlesource.com/platform/manifest // 获取最新源码
repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r1// 指定分支
  1. Descarga el árbol de fuentes de Android
repo sync

Instale la versión del controlador del teléfono en pixel3

  1. En el sitio web oficial para encontrar el modelo de teléfono y el código fuente de Android, la versión del número de compilación del controlador que corresponde a
    donde descargué el código fuente es android-10.0.0_r1, por lo que es el número de compilación QP1A.190711.019 y
    Inserte la descripción de la imagen aquí
    luego conducir el sitio web oficial a busque y descargue la información del controlador correspondiente Baje
    Inserte la descripción de la imagen aquí

  2. Descomprima en el directorio raíz del código fuente que acaba de descargar.

  3. Ingrese el siguiente código en la línea de comando, y luego presione Enter para leer el acuerdo, pero debido a que el acuerdo es demasiado largo, puede presionar ctrl + c para interrumpir, aquí se le pedirá que ingrese ACEPTO, después de la entrada, usted puede extraer la imagen

./extract-google_devices-blueline.sh
./extract-qcom-blueline.sh

Inserte la descripción de la imagen aquí

  1. Después de que la extracción sea exitosa, se generará un directorio de proveedores en el directorio raíz.
    Inserte la descripción de la imagen aquí

Compilar el código fuente de Android

Tenga en cuenta que la compilación del código fuente requiere al menos 16 GB de memoria, por lo que debe aumentar la partición de intercambio. Para conocer los pasos detallados, consulte mi primera publicación de blog

source build/envsetup.sh
lunch aosp_blueline-userdebug
make -j12

Android Studio importar el código fuente del sistema Android

  1. Después de que la compilación sea exitosa, ejecute los siguientes comandos para compilar el módulo idegen del código fuente y generar la compilación de configuración AS (* ipr):
mmm development/tools/idegen/
development/tools/idegen/idegen.sh

Una vez completado, verá tres nuevos archivos en el directorio raíz:
android.iml (utilizado para registrar los módulos, dependencias y versiones sdk contenidas en el proyecto)
android.ipr (configuración específica del proyecto, código e información de lib dependiente) android.iws (información de configuración personal)

  1. Cambie el permiso android.iml android.ipr a 777
sudo chmod 777 android.iml
sudo chmod 777 android.ipr
  1. Abra Android Studio, importe el proyecto existente, seleccione el archivo .ipr en el directorio raíz

Importar código fuente a Android Studio es demasiado lento

sudo vim /etc/sysctl.conf

Después de ingresar el archivo, presione i para ingresar al modo de edición

Agregar al final del archivo

fs.inotify.max_user_watches = 524288

Después de ingresar este pasaje, presione Esc para ingresar al modo normal, y luego presione: luego ingrese wq (significa escribir y guardar)

Documento efectivo

sudo sysctl -p –system // 生效文件

Pincel en el archivo de imagen recién compilado en pixel3

  1. Conecte pixel3 a la computadora e ingrese al modo de cargador de arranque
adb reboot bootloader
  1. Desbloquear teléfono
fastboot flashing unlock
  1. Ingrese al modo fastbootd, el documento de referencia es
    Inserte la descripción de la imagen aquí
// (1) 方法一:在bootloader模式下输入
fastboot reboot fastboot
// (2)方法二:返回Android系统,输入以下命令
adb reboot fastboot
  1. Ingrese el siguiente comando en la línea de comando
source ./build/envsetup.sh
  1. Ingrese el siguiente comando en la línea de comando
lunch aosp_blueline-userdebug
  1. Ingrese la ruta del producto generada, ingrese el siguiente comando en la línea de comando
cd  $ANDROID_PRODUCT_OUT
  1. Grabe el archivo de imagen compilado, ingrese el siguiente comando en la línea de comando
fastboot flashall -w 

Inserte la descripción de la imagen aquí

Evita el hoyo

  1. Al elegir un teléfono con flasheo, no compres la versión estadounidense de pixel2, su cargador de arranque no se puede desbloquear. Si quieres flashear el teléfono pixel2, debes comprar la versión europea.
  2. Si tiene que flashear el archivo de imagen 3 o 4 recién compilado en pixel3 antes de importar la imagen, de lo contrario, encontrará "Valor demasiado grande para el tipo de datos definido" al flashear el archivo de imagen
  3. Asegúrese de actualizar la máquina en modo fastbootd; de lo contrario, encontrará un error al actualizar el sistema: 'La partición debe actualizarse en fastbootd'
  4. : Si el sistema original del teléfono es Android 11, si graba el archivo de imagen de Android 10.0 en el dispositivo, no se grabará. Se recomienda ir primero al sitio web oficial para grabar las imágenes de fábrica de la rama fuente compilada y luego grabar el archivo de imagen de Android 10.0
  5. Si aparece "esperar cualquier dispositivo" después de la entrada de fastboot flashall -w, entonces flashee el archivo de imagen recién compilado en pixel 3. Estos pasos deben ejecutarse con privilegios de root.

Representación final

Inserte la descripción de la imagen aquí

Enlace de referencia
https://blog.csdn.net/weixin_45767368/article/details/105962606?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-6&spm=1001.2101.3001.4242
https://developers.google.com/android /drivers#bluelineqp1a.190711.019
https://source.android.google.cn/devices/bootloader/fastbootd?hl=zh-cn
https://www.jianshu.com/p/1f4a2b18246a

Supongo que te gusta

Origin blog.csdn.net/weixin_38355732/article/details/114044577
Recomendado
Clasificación