Na tej stronie znajdziesz instrukcje tworzenia aplikacji na Pixela 8, Pixela 8 Pro i Pixela 8a z obsługą 16 KB.
Synchronizowanie i tworzenie AOSP
Aby zsynchronizować i skompilować AOSP:
Sprawdź repozytorium AOSP:
$ mkdir ~/aosp_main && cd ~/aosp_main $ repo init -u https://android.googlesource.com/platform/manifest -b main $ repo sync -c -j$(nproc)
Aby skonfigurować środowisko kompilacji, pobierz skrypt
envsetup.sh
:$ source build/envsetup.sh
Wybierz jedną z 3 doceleń dla urządzeń Pixel 8:
aosp_husky_pgagnostic-trunk_staging-userdebug
na Pixelu 8 Proaosp_shiba_pgagnostic-trunk_staging-userdebug
na Pixelu 8aosp_akita_16k-trunk_staging-userdebug
na Pixelu 8a
$ lunch target
Utwórz kod:
$ m -j$(nproc)
Po zakończeniu kompilacji są generowane te obrazy:
$ ls out/target/product/<husky|shiba|akita>/*.img out/target/product/husky/boot.img out/target/product/husky/vbmeta.img out/target/product/husky/dtb.img out/target/product/husky/vbmeta_system.img out/target/product/husky/dtbo.img out/target/product/husky/vendor-bootconfig.img out/target/product/husky/init_boot.img out/target/product/husky/vendor_boot-debug.img out/target/product/husky/product.img out/target/product/husky/vendor_boot.img out/target/product/husky/pvmfw.img out/target/product/husky/vendor_boot-test-harness.img out/target/product/husky/ramdisk.img out/target/product/husky/vendor.img out/target/product/husky/super_empty.img out/target/product/husky/vendor_kernel_boot.img out/target/product/husky/system_dlkm.img out/target/product/husky/vendor_kernel_ramdisk.img out/target/product/husky/system_ext.img out/target/product/husky/vendor_ramdisk-debug.img out/target/product/husky/system.img out/target/product/husky/vendor_ramdisk.img out/target/product/husky/system_other.img out/target/product/husky/vendor_ramdisk-test-harness.img out/target/product/husky/userdata.img
Synchronizacja i tworzenie jądra
Wybierz jedno z jąder 6.1:
android-gs-shusky-6.1-android15-qpr2-beta
na urządzeniach Pixel 8 i Pixel 8 Proandroid-gs-akita-6.1-android15-qpr2-beta
na urządzeniu Pixel 8a
Synchronizacja jądra:
# Sync the kernel. $ mkdir ~/android-gs-shusky-6.1 $ cd ~/android-gs-shusky-6.1 $ repo init -u https://android.googlesource.com/kernel/manifest -b kernel $ repo sync -c -j6
Kompilacja jądra:
Aby skompilować jądro dla Pixela 8 lub Pixela 8 Pro, użyj:
$ ./tools/bazel run \ --config=shusky \ //private/devices/google/shusky:zuma_shusky_dist \ --config=16k [dist] INFO: Copying to ~/android14-gs-pixel-6.1/out/shusky/dist
Aby skompilować jądro dla Pixela 8a, użyj:
$ ./tools/bazel run \ --config=akita \ //private/devices/google/akita:zuma_akita_dist \ --confige=16k [dist] INFO: Copying to ~/android14-gs-pixel-6.1/out/akita/dist
Pobieranie obrazów dostawcy
Repozytorium AOSP nie zawiera obrazów dostawcy, które są wymagane do uruchomienia urządzenia. Obrazy możesz pobrać z ci.android.com
:
Otwórz stronę
ci.android.com/git_aosp-main-with-phones-throttled
.Wybierz wersję oznaczoną na zielono, która odpowiada Twojemu urządzeniu:
W przypadku Pixela 8 Pro kliknij
aosp_husky_pgagnostic
.W przypadku Pixela 8 kliknij
aosp_shiba_pgagnostic
.W przypadku Pixela 8a kliknij
aosp_akita_16k
.
Na dole strony pojawi się karta Elementy.
Kliknij Elementy. Wyświetlają się artefakty Twojego urządzenia.
Aby pobrać artefakt, kliknij plik kończący się na
.sh
.W katalogu, do którego został pobrany plik, uruchom to polecenie, aby wyodrębnić zawartość:
$ cd ~/Downloads $ chmod +x aosp_<selected target>-flashable-<build id>-with-license.sh ./aosp_<selected target>-flashable-<build id>-with-license.sh # After reading the license, type Type "I ACCEPT" if you agree to the terms of the license: I ACCEPT # The extracted file will be in the current directory $ ls aosp_<selected_target>-flashable-with-license.zip # unzip that file in a directory named aosp_vendor $ unzip aosp_<selected_target>-flashable-with-license.zip -d aosp_vendor # The content of the directory will look like: $ ls aosp_vendor android-info.txt init_boot.img super_empty.img system_other.img vbmeta_vendor.img vendor_kernel_boot.img boot.img product.img system_dlkm.img userdata.img vendor_boot.img bootloader.img pvmfw.img system_ext.img vbmeta.img vendor_dlkm.img dtbo.img radio.img system.img vbmeta_system.img vendor.img
Kopiowanie obrazów do katalogu tymczasowego
Skopiuj obrazy AOSP, jądra i dostawcy do katalogu w tej kolejności:
$ mkdir ~/images && cd ~/images
# Copy AOSP generated images
$ cp ~/aosp_main/out/target/product/<akita|husky|shiba>/*.img ./images
# Copy kernel generated images
$ cp ~/android-gs-shusky-6.1/out/<akita|shusky>/dist ./images
# Copy the vendor images
$ cp ~/Downloads/aosp_vendor/vendor.img ./images
$ cp ~/Downloads/aosp_vendor/vbmeta_vendor.img ./images
Obrazy flash
Aby wyświetlić obrazy, wykonaj te czynności:
Zapisz obrazy dynamicznych partycji:
$ IMGS_DIR=~/images $ adb reboot fastboot $ fastboot flash product $IMGS_DIR/product.img $ fastboot flash system $IMGS_DIR/system.img $ fastboot flash system_ext $IMGS_DIR/system_ext.img $ fastboot flash system_dlkm $IMGS_DIR/system_dlkm.img $ fastboot flash vendor $IMGS_DIR/vendor.img $ fastboot flash vendor_dlkm $IMGS_DIR/vendor_dlkm.img
Flashowanie obrazów jądra:
$ fastboot reboot bootloader # Wipe out /data partition $ fastboot -w # Disable pkvm $ fastboot oem pkvm disable $ fastboot flash boot $IMGS_DIR/boot.img $ fastboot flash init_boot $IMGS_DIR/init_boot.img $ fastboot flash dtbo $IMGS_DIR/dtbo.img $ fastboot flash vendor_kernel_boot $IMGS_DIR/vendor_kernel_boot.img $ fastboot flash pvmfw $IMGS_DIR/pvmfw.img $ fastboot flash vendor_boot $IMGS_DIR/vendor_boot.img $ fastboot flash --disable-verity --disable-verification vbmeta $IMGS_DIR/vbmeta.img $ fastboot flash --disable-verity --disable-verification vbmeta_system $IMGS_DIR/vbmeta_system.img $ fastboot flash --disable-verity --disable-verification vbmeta_vendor $IMGS_DIR/vbmeta_vendor.img
Naciśnij przycisk zasilania, aby uruchomić urządzenie.
Sprawdź rozmiar strony:
$ adb shell getconf PAGE_SIZE 16384