Ubuntu 22.04 скомпилировал AOSP Android 13

Добро пожаловать в мое руководство по разработке системы Android Knowledge Planet.

Добро пожаловать на общедоступную учетную запись WeChat Wuxian.
Добро пожаловать на подписку на учетную запись Zhihu Wuxian.

Загрузка кода

Конфигурация

Установите инструменты, необходимые для загрузки кода:
sudo apt install curl repo git
скачать конфигурацию repo
mkdir ~/bin/
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
chmod +x ~/бин/репо


Добавьте следующее в последнюю строку vim ~/.bashrc
Export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
source ~/.bashrc

Настройте среду git, настройте электронную почту и имя на свое имя.
git config --global user.email "[email protected]"
git config --global user.name "Ваше имя"

скачать

Создайте каталог для сохранения кода. Я загрузил ветку как android-13.0.0_r35. Если вы хотите скачать другие ветки, проверьте
теги-и-сборки исходного кода.

mkdir -p ~/work/android/aosp/android-13.0.0_r35
cd ~/work/android/aosp/android-13.0.0_r35
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/ AOSP/platform/manifest -b android-13.0.0_r35
repo sync -j16
-j Число после -j — это количество потоков, использующих процессор. Мой компьютер имеет 20 потоков. Я выбрал 16, чтобы компьютер не тормозил. То же самое верно для последующих компиляций.

Если во время загрузки появляется сообщение об ошибке, указывающее, что Python не найден, выполните следующие действия:
sudo apt install python2.7
sudo ln -s /usr/bin/python2.7 /usr/bin/python

компиляция кода

Установка инструмента компиляции

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa- dev libxml2-utils xsltproc распаковать libncurses5 openjdk-8-jdk

Скомпилировать код

cd ~/work/android/aosp/android-13.0.0_r35
source build/envsetup.sh
и выберите нужную версию. Если вы хотите запустить эмулятор, выберите тот, который начинается с sdk. Например, aosp_car_x86_64-userdebug не может запуститься симуляция.Для симулятора sdk_car_x86_64-userdebug может запустить
обед симулятора sdk_car_x86_64-userdebug
make -j8
и дождаться завершения компиляции.Я компилировал ее полтора часа.Если выбран -j16, должно быть быстрее.

Запустите эмулятор

После завершения компиляции выполните в том же окне:
emulator.
Если вы переключите окно терминала, выполните
source build/envsetup.sh
обед sdk_car_x86_64-userdebug
emulator -writable-system // -writable-system означает, что система доступна для записи, в противном случае вы не могу adb отправить файл в систему
Ниже приведен скриншот страницы после запуска:

Вставьте сюда описание изображения

Отладка кода

Установка инструмента отладки

Установите инструмент отладки adb
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb
После завершения установки запустите
adb devices ,
и вы увидите, что эмулятор работает.
Вставьте сюда описание изображения

Изменить проверку кода

Давайте изменим текст на главной странице и сначала найдем путь:
packages/services/Car/car-maps-placeholder/res/values/strings.xml
Вставьте сюда описание изображения

отредактировать немного

Вставьте сюда описание изображения
Просматривая файл Android.bp, мы знаем, что нужно скомпилировать
исходный код CarMapsPlaceholder build/envsetup.sh
обед sdk_car_x86_64-userdebug
make CarMapsPlaceholder -j16

После завершения компиляции отправьте скомпилированный apk продукта в систему для проверки. Сначала выполните
adb root
adb remount
, чтобы запросить перезагрузку системы
Вставьте сюда описание изображения
adb restart.
Затем выполните
adb root
adb remount
adb push out/target/product/emulator_car_x86_64/system/ app/CarMapsPlaceholder/CarMapsPlaceholder.apk /system/app/CarMapsPlaceholder/
Выйдите с домашней страницы, войдите снова и убедитесь, что наши изменения вступили в силу.

Вставьте сюда описание изображения

Supongo que te gusta

Origin blog.csdn.net/weixin_41678668/article/details/129758687
Recomendado
Clasificación