Entorno de máquina virtual Ubuntu para crear un entorno de compilación de código fuente del sistema Android y métodos de resolución de problemas

1. Obtenga el código fuente de Android y la configuración de red para acceder a Google (método uno)

2. Obtenga la configuración de red del código fuente de Android para acceder a Google (método dos)

3. Cambie la fuente apt a la fuente Aliyun en Ubuntu 18.04

En cuarto lugar, la solución al problema del certificado cuando el proxy hace que la red sea inaccesible.

5. El método de operación para usuarios comunes en el entorno de Ubuntu para descargar automáticamente el código fuente de cada versión del sistema Android de los modelos compatibles con LineageOS.

6. MoKee (Magic Fun) o LineageOS

Siete, magia MoKee

Ocho bases de compilación de código fuente del sistema Android de uso común

Nueve, la solución al problema de la ocupación portuaria

10. Aumente la partición Swap en Ubuntu 16.04 

11. Espacio en disco insuficiente, puede utilizar los siguientes métodos para expandir el espacio en disco

12. Si no puede acceder a Google, agregue el modelo de selección de equipo del sistema de compilación al espejo Mokee (almuerzo)

13. En el caso de no poder acceder a Google, la duplicación de Lineage OS agrega el modelo de selección de equipos del sistema de compilación (almuerzo)

 

1. Obtenga el código fuente de Android y la configuración de red para acceder a Google (método uno) 

imagen

 

imagen

 

Configure el proxy http, https y ftp ( donde IP es la dirección IP del host )

exportar http_proxy = socks5: //172.20.10.2: 1080

exportar https_proxy = socks5: //172.20.10.2: 1080

exportar FTP_PROXY = socks5: //172.20.10.2: 1080

exportar ALL_PROXY = calcetines5: //172.20.10.2: 1080

 

Configure el proxy http ( donde IP es la dirección IP del host )

git config --global http.proxy http://172.20.10.2:1080

git config --global https.proxy https://172.20.10.2:1080

git config --global user.email "****@email.address"

git config --global user.name "****"

 

Cancelar proxy http

git config --system (或 --global 或 --local) --unset http.proxy

git config --system (o --global o --local) --unset https.proxy

 

2. Obtenga la configuración de red del código fuente de Android para acceder a Google ( método dos ) 

imagen

 

imagen

 

3. Cambie la fuente apt a la fuente Aliyun en Ubuntu 18.04

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

sudo apt-get install vim

 

Comente el contenido original y agregue lo siguiente

sudo vim /etc/apt/sources.list

o

sudo gedit /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ bionic principal universo restringido multiverso

deb-src http://mirrors.aliyun.com/ubuntu/ bionic principal universo restringido multiverso

deb http://mirrors.aliyun.com/ubuntu/ bionic-security principal universo restringido multiverso

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security principal universo restringido multiverso

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates principal universo restringido multiverso

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates principal universo restringido multiverso

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports principal universo restringido multiverso

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports principal universo restringido multiverso

deb http://mirrors.aliyun.com/ubuntu/ bionic-propuesto principal universo restringido multiverso

deb-src http://mirrors.aliyun.com/ubuntu/ multiverso principal restringido del universo bionic-propuesto

 

Actualizar lista de software

sudo apt-get update

 

Paquete de actualización

sudo apt-get upgrade

 

En cuarto lugar, la solución al problema del certificado cuando el proxy hace que la red sea inaccesible.

Cancelar proxy

git config --global --unset http.proxy

git config --global --unset https.proxy

 

Eliminar archivo de configuración local

apt-get purge openssl

rm -rf / etc / ssl

 

reinstalar

sudo apt-get install libssl-dev openssl

apt-get install certificados-ca

 

5. El método de operación para usuarios comunes en el entorno de Ubuntu para descargar automáticamente el código fuente de cada versión del sistema Android de los modelos compatibles con LineageOS.

(1). Obtenga permisos de root

sudo su

Siga los pasos de https://wiki.lineageos.org/devices/ para obtener el código fuente del sistema Android (el método para obtener el código fuente para cada modelo es similar), como se muestra en la figura:

https://wiki.lineageos.org/devices/hammerhead/build (similar a otros modelos)

imagen

 

imagen

 

imagen

 

imagen

 

imagen

 

imagen

 

imagen

 

6. MoKee (Magic Fun) o LineageOS

(1). El método para descargar el dispositivo, kernel, código fuente del sistema del proveedor compatible con cada modelo a través de git (similar a cada modelo) es el siguiente:

https://github.com/LineageOS/android_device_xiaomi_cancro

https://github.com/LineageOS/android_kernel_xiaomi_cancro

https://github.com/MoKee/android_vendor_xiaomi_cancro

https://github.com/MoKee/android_device_xiaomi_cancro

https://github.com/MoKee/android_kernel_xiaomi_cancro

 

https://github.com/LineageOS/android_device_lge_hammerhead

https://github.com/LineageOS/android_kernel_lge_hammerhead

https://github.com/MoKee/android_vendor_lge_hammerhead

https://github.com/MoKee/android_kernel_lge_hammerhead

 

https://github.com/LineageOS/android_device_huawei_angler

https://github.com/MoKee/android_vendor_huawei_angler

https://github.com/LineageOS/android_kernel_huawei_angler

 

(2). Configurar el entorno de compilación del código fuente del sistema Android (usuarios normales)

vim ~ / .bashrc

imagen

 

fuente ~ / .bashrc

 

./prebuilts/sdk/tools/jack-admin kill-server

./prebuilts/sdk/tools/jack-admin start-server

 

(3). Configurar el entorno de compilación del código fuente del sistema Android (usuario root)

vim ~ / .bashrc

 

exportar USE_CCACHE = 1

exportar CCACHE_EXEC = / usr / bin / ccache

ccache -M 50G

exportar CCACHE_COMPRESS = 1

exportar ANDROID_JACK_VM_ARGS = "- Dfile.encoding = UTF-8 -XX: + TieredCompilation -Xmx4096"

exportar JACK_SERVER_VM_ARGUMENTS = "- Dfile.encoding = UTF-8 -XX: + TieredCompilation -Xmx4096m"

exportar LC_ALL = C

 

imagen

 

fuente ~ / .bashrc

 

./prebuilts/sdk/tools/jack-admin kill-server

./prebuilts/sdk/tools/jack-admin start-server

 

imagen

 

Siete, magia MoKee

Instalar Repo

Cree una carpeta bin en el directorio raíz del usuario actual y agréguela a las variables de entorno del sistema

mkdir ~ / bin

RUTA = ~ / bin: $ RUTA

 

Descarga Repo y da permiso de ejecución

curl https://download.mokeedev.com/git-repo-downloads/repo> ~ / bin / repo

curl https://raw.githubusercontent.com/MoKee/git-repo/stable/repo> ~ / bin / repo

chmod a + x ~ / bin / repo

 

imagen

 

8.1 Código fuente de Magic Fun, rama modificada a mko-mr1

repo init -u https://github.com/MoKee/android -b mko -mr1

sincronización de repositorio

sincronización de repositorio -f -j8

repo sync -c -f -j8 --force-sync --no-clone-bundle

 

Comando para compilar Android 8.1

hacer tocino

hacer tocino -j4

hacer tocino -j8

hacer tocino -j16

 

. 9 . 0 magia interesante fuente, se modifica en rama MKP

git config --global http.proxy http://192.168.101.102:1080

git config --global https.proxy https://192.168.101.102:1080

 

git config --global user.email "[email protected]"

git config --global user.name "gouyp"

repo init -u https://github.com/MoKee/android -b mkp

repo init -u https://github.com/MoKee/android -b mkp-dev

repo init -u https://github.com/MoKee/android.git -b mkp

sincronización de repositorio

 

.9 . 0 fuente mágica interesante compilada

. build / envsetup.sh && lunch (ingrese el número de dispositivo) && mka bacon

 

repo init -u https://github.com/MoKee/android -b mkp --depth 1

sincronización de repositorio

. build / envsetup.sh

comida

 

Opciones del compilador: 28 ( modelos OnePlus 6 )

tocino mka

tocino  mka -j8

 

Método de flasheo de una tecla para el sistema Android

imagen

 

fastboot --disable-verity --disable-verificación flash vbmeta stock_vbmeta.img

fastboot flash vbmeta vbmeta.img

fastboot flash boot boot.img

fastboot flash system system.img

fastboot flash userdata userdata.img

fastboot -w reiniciar

 

imagen

 

imagen

 

imagen

 

imagen

 

imagen

 

Ocho bases de compilación de código fuente del sistema Android de uso común

Eliminar todos los archivos de resultados de salida y compilados de configuración

hacer una paliza

 

Después de agregar la API del sistema o modificar la API de @hide, debe ejecutar el siguiente comando y luego hacer

hacer update-api

 

Después de modificar la API pública, debe ejecutar el siguiente comando y luego hacer

hacer update-api

 

Compilación de submódulos

Compilar boot.img

hacer bootimage

 

Compilar userdata.img

hacer userdataimage

 

Compilar system.img

hacer la imagen del sistema

 

Reempaquetado system.img

hacer snod

 

Preinstale la aplicación en el sistema (las aplicaciones que deben preinstalarse se proporcionan en forma de código fuente y deben compilarse primero)

Ejecute el siguiente comando en el directorio raíz del código fuente

fuente build / envsetup.sh

paquetes mmm / aplicaciones / TestApp

 

Una vez completada la compilación, se generará el archivo apk correspondiente en la ruta out / target / product / xxx / system / app / (xxx es el código del dispositivo). Si ya existe un archivo apk, se colocará directamente en esta ruta; si es una aplicación del sistema, debe colocarse en la ruta out / target / product / xxx / system / priv-app / y luego debe volver a empaquetarla en un archivo de imagen, regresar al directorio raíz de origen y ejecute el siguiente comando para volver a empaquetar system.img

hacer snod

 

Nueve, la solución al problema de la ocupación portuaria

netstat -tln | grep jack-port number, solo ve el uso del puerto jack-port

lsof -i: número de puerto jack para comprobar a qué programa pertenece el puerto y qué proceso ocupa el puerto

kill -9 número de puerto jack proceso pid

 

sudo vim ~ / .jack-settings

imagen

 

sudo vim ~ / .jack-server / config.propertie 

imagen

sudo chmod 600 ~ / .jack-settings

sudo chmod 600 ~ / .jack-server / config.properties

 

sudo vim ~ / .bashrc

fuente sudo ~ / .bashrc 

imagen

 

imagen

 

exportar USE_CCACHE = 1

exportar CCACHE_EXEC = / usr / bin / ccache

ccache -M 50G

exportar CCACHE_COMPRESS = 1

exportar ANDROID_JACK_VM_ARGS = "- Dfile.encoding = UTF-8 -XX: + TieredCompilation -Xmx4096"

exportar JACK_SERVER_VM_ARGUMENTS = "- Dfile.encoding = UTF-8 -XX: + TieredCompilation -Xmx4096m"

exportar LC_ALL = C

 

./out/host/linux-x86/bin/jack-admin stop-server

./out/host/linux-x86/bin/jack-admin start-server

 

./prebuilts/sdk/tools/jack-admin kill-server

./prebuilts/sdk/tools/jack-admin start-server

 

10. Aumente la partición Swap en Ubuntu 16.04 

imagen

 

Verifique el tamaño del espacio en disco

df -h

 

Verifique el tamaño del archivo en el disco

du -sh

 

Ver el uso de la memoria

libre -m

 

gnome-system-monitor

 

11. Espacio en disco insuficiente, puede utilizar los siguientes métodos para expandir el espacio en disco

imagen

 

Instalar el software de gestión de particiones gparted

sudo apt-get install gparted

imagen

 

imagen

 

https://blog.csdn.net/u011345885/article/details/73060897

 

Doce, Google no puede acceder a la situación bajo el espejo mágico agregar interés Número de selección del equipo del sistema de compilación Mokee (almuerzo) 

imagen

 

XIII no puedo acceder al caso L de Google bajo la imagen del  SO ineage para agregar el número de selección del equipo del sistema de compilación (almuerzo)

imagen

 

La implementación de los archivos vendorsetup.sh en los subdirectorios correspondientes de proveedor y dispositivo, son principalmente para agregar el modelo de dispositivo correspondiente y su soporte de tipo de compilación al menú Almuerzo

 

Agregue add_lunch_combo aosp_angler-userdebug en device / huawei / angler / vendorsetup.sh al final de vendor / cm / vendorsetup.sh. Al compilar el código fuente, puede ingresar el comando lunch para obtener el modelo de selección de dispositivo

imagen

 

Siga la cuenta pública de WeChat para obtener más información sobre los últimos artículos, gracias por su apoyo

imagen

Supongo que te gusta

Origin blog.csdn.net/u011426115/article/details/112123908
Recomendado
Clasificación