android 7.0 컴 파일 문제 및 해결
3511 단어 Android
1.정상 적 인 3 부작 컴 파일:
1)source build/envsetup.sh
2)lunch 1
3)make-j32(-j32 는 32 개의 스 레 드 를 동시에 컴 파일 하고 개인 컴퓨터 설정 에 따라 정 하 는 것 을 나타 낸다.나의 노트북 8G 메모리,i5 의 프로세서,256 G 의 고체 하 드 디스크 는 보통 10 개의 스 레 드 를 엽 니 다.즉,make-j10,스 레 드 수 는 2 의 배수 입 니 다)
주:android 7.0 컴 파일 은 make update-api 를 실행 할 필요 가 없습니다.물론 실행 해도 틀 리 지 않 습 니 다.
내 가 만난 문제:
1)문제:컴퓨터 에 설 치 된 open-jdk 1.7 이지 만 환경 변 수 를 설정 하지 않 아 원본 코드 를 컴 파일 할 때 감지 되 지 않 습 니 다.
원인:build/envsetup.sh 파일 에서 함수 setjava_홈()은 다음 과 같다.
function set_java_home() {
# Clear the existing JAVA_HOME value if we set it ourselves, so that
# we can reset it later, depending on the version of java the build
# system needs.
#
# If we don't do this, the JAVA_HOME value set by the first call to
# build/envsetup.sh will persist forever.
#export LEGACY_USE_JAVA7=1
if [ -n "$ANDROID_SET_JAVA_HOME" ]; then
export JAVA_HOME=""
fi
if [ ! "$JAVA_HOME" ]; then
if [ -n "$LEGACY_USE_JAVA7" ]; then
echo Warning: Support for JDK 7 will be dropped. Switch to JDK 8.
case `uname -s` in
Darwin)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
;;
*)
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
;;
esac
else
case `uname -s` in
Darwin)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
;;
*)
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
;;
esac
fi
# Keep track of the fact that we set JAVA_HOME ourselves, so that
# we can change it on the next envsetup.sh, if required.
export ANDROID_SET_JAVA_HOME=true
fi
}
만약 LEGACYUSE_JAVA 7 비 어 있 지 않 음,JAVAHOME 는 LEGACYUSE_JAVA 7 우 리 는 할당 이 없 기 때문에 컴 파일 할 때 시스템 은 자바 8 의 경로 만 찾 습 니 다.해결 방법 은 판단 하기 전에 exportLEGACY 를 추가 하 는 것 입 니 다.USE_JAVA 7:=1(왜 신명 성 export,build/core/main.mk 에서 컴 파일 환경 검 사 를 할 때 도 이 변 수 를 사용 하기 때문에 관심 이 있 으 면 가 볼 수 있 습 니 다).그러면 환경 검 측 절 차 를 컴 파일 할 수 있 습 니 다.저 는 뒤에서 오류 가 발생 했 습 니 다.javac:invalide source release:1.8(만 나 지 못 했 으 면 좋 겠 습 니 다)아직 해결 되 지 않 았 습 니 다(만약 당신 이 해결 했다 면,어서 오 세 요,setjava_home()에서 경고 가 있 습 니 다:warning:Support for JDK 7 will be dropped.Switch to JDK 8
....................................................................................
2)문제:locale:Cannot set LCALL to default locale: No such file or directory
원인:시스템 bug,터미널 에 locale 을 입력 하고 차 로 돌아 갑 니 다.출력 은 다음 과 같 습 니 다.
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
해결 방법:컴 파일 하기 전에 터미널 에 export LC 를 입력 하 십시오.ALL ="en_US.UTF-8"이면 됩 니 다.물론 envsetup.sh 에 추가 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.