Ubunut16.04 컴파일 안드로이드8.1.0 프로세스 및 컴파일 과정에서 발생한 문제
1. JDK 설치
sudo apt-get update
sudo apt-get install openjdk-8-jdk
2. 출력 디렉토리 설정
매번 컴파일된 출력은 해당 소스 코드 트리의 your-out-directory 하위 디렉터리에 저장됩니다.이 설정을 수행하려면 OUT 내보내기DIR_COMMON_BASE 변수는 출력 디렉토리가 저장될 위치를 가리킵니다.
export OUT_DIR_COMMON_BASE=
3. Repo 설치
홈 디렉토리에 bin/디렉토리가 있고 해당 디렉토리가 경로에 포함되어 있는지 확인합니다.
mkdir ~/bin
PATH=~/bin:$PATH
Repo 도구를 다운로드하여 다음 작업을 수행할 수 있는지 확인합니다.
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
4. Repo 클라이언트 초기화
작업 파일을 저장할 빈 디렉터리를 만듭니다.
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
실제 이름과 이메일 주소를 사용하여 Git를 구성합니다.
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
5. Android 소스 코드 트리 다운로드
다음 명령을 통해 android-8.1.0 다운로드r61 코드
repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r61
repo sync -c --no-tags
원본 다운로드 과정에서 발생한 문제: 안드로이드 원본 인출 과정에서libnativehelper 파일 디렉터리가 부족하여 수동으로 홈페이지에서 부족한 파일 홈페이지를 가져와야 합니다.https://android.googlesource.com/platform/libnativehelper/+/refs/tags/android-8.1.0_r61
6. 코드 컴파일링:
patch
device/generic/car$ git df vendorsetup.sh
diff --git a/vendorsetup.sh b/vendorsetup.sh
index 1bec9aa..4e87161 100644
--- a/vendorsetup.sh
+++ b/vendorsetup.sh
@@ -20,7 +20,7 @@
# In particular, you can add lunch options with the add_lunch_combo
# function: add_lunch_combo generic-eng
-add_lunch_combo aosp_car_emu_arm-userdebug
-add_lunch_combo aosp_car_emu_arm64-userdebug
-add_lunch_combo aosp_car_emu_x86-userdebug
-add_lunch_combo aosp_car_emu_x86_64-userdebug
+add_lunch_combo aosp_car_arm-userdebug
+add_lunch_combo aosp_car_arm64-userdebug
+add_lunch_combo aosp_car_x86-userdebug
+add_lunch_combo aosp_car_x86_64-userdebug
컴파일 명령:
source build/envsetup.sh
lunch aosp_car_x86_64-userdebug
make | tee mm.log
컴파일 중 발생한 오류
오류 보고: Android build error: ro.build.fingerprint cannot exceed 91 bytes
해결 방법: 1.Edit build/tools/post_process_props.py. Change lines as follows:
PROP_NAME_MAX = 31
# PROP_VALUE_MAX = 91
PROP_VALUE_MAX = 128
2.Edit bionic/libc/include/sys/system_properties.h. Change lines as follows:
#define PROP_NAME_MAX 32
// #define PROP_VALUE_MAX 92
#define PROP_VALUE_MAX 128
3.make clean
make clean
전재:https://stackoverflow.com/questions/28776970/android-build-error-ro-build-fingerprint-cannot-exceed-91-bytes
오류 보고:error:staticassert failed “Size mismatch.”
해결 방법: Edit frameworks/native/cmds/installd/installddeps.h. Change lines as follows:
// constexpr size_t kPropertyValueMax = 92u;
constexpr size_t kPropertyValueMax = 128u;
전재:http://www.th7.cn/Program/Android/201701/1088115.shtml
오류 보고: Out of memory error
해결 방법:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server
전재:https://blog.csdn.net/badousuan/article/details/83035492
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android Webkit 요약(개요에서 최신 AndroidX까지)WebView는 Android 응용 프로그램에서 HTML과 웹 페이지 등 HTML 파일을 렌더링(표시)하는 기능을 제공하는 View입니다. Android Webkit은 실제 WebView의 핵심 기술인 렌더링 엔진(...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.