Руководство пользователя Orange Pi Zero 2

  Описание    Запуск    ОС Линукс    SDK Линукс    ОС Андроид      SDK Андроид      Фото  

Глава 6. SDK Андроид - Android SDK

Содержание

6.1. Загрузка исходного кода Android SDK

6.2. Сборка среды компиляции Android

6.3. Компиляция образа Android

   6.3.1. Компиляция ядра Android

   6.3.2. Компиляция исходного кода Android



6.1. Загрузка исходного кода Android SDK (Download the source code of android SDK)

Компиляция Android SDK выполняется на ПК с установленным Ubuntu 14.04, другие версии ОС Ubuntu могут иметь некоторые отличия.

Android SDK - это оригинальный SDK, выпущенный производителем чипа. Если вы хотите использовать образ Android, скомпилированный Android SDK на плате разработки Orange Pi, вам необходимо адаптироваться к различным платам, чтобы гарантировать нормальное использование всех функций.

  • 1) Исходный код Android H616 содержит следующие 4 файла:
  • a)android.tar.gzxx - исходный код Android
  • b)android.tar.gz.md5sum - файл контрольной суммы MD5 для android.tar.gzxx
  • c)longan.tar.gz - содержит исходный код ядра u-boot, linux (не включает исходный код boot0)
  • d)longan.tar.gz.md5sum - файл контрольной суммы MD5 для longan.tar.gz



  • 2) После загрузки исходного кода Android сначала проверьте правильность контрольной суммы MD5, если нет, загрузите исходный код еще раз.

    test@test:~$ md5sum -c android.tar.gz.md5sum android.tar.gzaa: OK android.tar.gzab: OK android.tar.gzac: OK android.tar.gzad: OK android.tar.gzae: OK android.tar.gzaf: OK android.tar.gzag: OK android.tar.gzah: OK android.tar.gzai: OK android.tar.gzaj: OK android.tar.gzak: OK test@test:~$ md5sum -c longan.tar.gz.md5sum longan.tar.gz: OK
  • 3) Затем разархивируйте исходный код Android
  • android - хранит исходный код, связанный с Android
  • longan - хранит исходный код ядра Linux и u-boot (не включая исходный код boot0) и другие файлы конфигурации.

    test@test:~$ cat android.tar.gza* | tar -zx test@test:~$ tar -zxf longan.tar.gz test@test:~$ ls android longan

    6.2. Сборка среды компиляции Android (Build android compilation environment)
  • 1) Установите JDK

    test@test:~$ sudo add-apt-repository ppa:openjdk-r/ppa test@test:~$ sudo apt-get update test@test:~$ sudo apt-get install openjdk-8-jdk
  • 2) Настройте переменные среды JAVA

    Сначала определите путь установки java, обычно


    test@test:~$ ls /usr/lib/jvm/java-8-openjdk-amd64 ASSEMBLY_EXCEPTION bin docs include jre lib man src.zip THIRD_PARTY_README

    Затем используйте следующую команду для экспорта переменных среды Java


    test@test:~$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 test@test:~$ export PATH=$JAVA_HOME/bin:$PATH test@test:~$ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
  • 3) Используйте Ubuntu 14.04 для компиляции исходного кода Android 10, вам необходимо убедиться, что Ubuntu 14.04 использует ядро linux 4.4, в противном случае при компиляции будет сообщено об ошибке, если ядро не Linux 4.4, обновите ядро

    test@test:~$ uname -a Linux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
  • 4) Установите программное обеспечение поддержки платформы

    test@test:~$ sudo apt-get update test@test:~$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip test@test:~$ sudo apt-get install u-boot-tools

    6.3. Компиляция образа Android (Compile android image)

    6.3.1. Компиляция ядра Android (Compile the kernel)
    1) Сначала настройте среду компиляции

    test@test:~$ cd longan test@test:~/longan$ ./build.sh config Welcome to mkscript setup progress All available platform: 0. android 1. linux Choice [android]: 0 All available ic: 0. h313 1. h616 2. h700 Choice [h616]: 1 All available board: 0. fpga 1. ft 2. p1 3. p2 4. perf1 5. perf1_axp152 6. perf2 7. perf3 8. qa Choice [p2]: 3 INFO: kernel defconfig: generate /wspace2/H616/Android_10/longan/kernel/linux-4.9/.config by /wspace2/H616/Android_10/longan/kernel/linux-4.9/arch/arm64/ configs/sun50iw9p1smp_h616_android_defconfig *** Default configuration is based on 'sun50iw9p1smp_h616_android_defconfig' # #configuration written to .config #
  • 2) Затем начните компилировать

    test@test:~/longan$ ./build.sh
  • 3) Результат после компиляции выглядит следующим образом:

    sun50iw9p1 compile Kernel successful INFO: build kernel OK. INFO: build rootfs ... INFO: skip make rootfs for android INFO: ---------------------------------------- INFO: build lichee OK. INFO: ----------------------------------------

    6.3.2. Компиляция исходного кода Android (Compile android source code)
  • 1) Команда для компиляции Android выглядит следующим образом:

    test@test:~$ cd android test@test:~/android$ source build/envsetup.sh test@test:~/android$ lunch cupid_p2-eng test@test:~/android$ extract-bsp test@test:~/android$ make -j8
  • 2) После компиляции будет напечатана следующая информация

    #### build completed successfully (01:51 (mm:ss)) ####
  • 3) Затем используйте команду pack для упаковки и генерации образа Android

    test@test:~/android$ pack ...... ----------image is at---------- longan/out/h616_android10_p2_uart0.img pack finish use pack4dist for release
  • 4) Путь хранения сгенерированного образа Android

    longan/out/h616_android10_p2_uart0.img