컴퓨터 지식 네트워크 - 컴퓨터 제품 - 안드로이드 소스 코드를 컴파일하려면 SDK 환경이 필요합니까?

안드로이드 소스 코드를 컴파일하려면 SDK 환경이 필요합니까?

다음은 안드로이드 학습안내서입니다. 컴파일된 소스 코드를 보거나 360 휴대폰 도우미에서 다운로드할 수 있습니다.

-응? 컴파일 환경: ubuntu9. 10, 현재 widnows 플랫폼은 지원되지 않습니다.

1) 필요한 소프트웨어 환경을 설치합니다.

$ sudoapt-getinstall git-coregnupg sun-Java 5-JDK flexbison gperf libsdl-dev libes d0-dev libwxgtk 2.6-dev be

공식 추천은 위와 같다. 컴파일할 때 찾을 수 없는 명령이 있으면 apt-get 으로 하겠습니다. 필요할 수 있는 추가 패키지는 다음과 같습니다.

$ sudo apt-get 설치 제작

$ sudo apt-get 설치 gcc

$ sudo apt-get 설치 g++

$ sudo apt-get 설치 libc6-dev

$ sudo apt-get 설치 패치

$ sudo apt-get 설치 texinfo

$ sudo apt-get 설치 zlib 1g-dev

$ sudo apt-get 설치 valgrind

$ sudo apt-get 설치 python2.5 이상

공식 문서에 따르면 sun-java6-jdk 를 사용하면 sun-java5- JDK 를 사용해야 한다고 합니다. Make 만 있는 경우 (make 에는 make SDK 가 포함되지 않음) sun-java6-jdk 를 사용하면 문제가 없는 것으로 나타났습니다. Make SDK 는 문제가 있습니다. 엄밀히 말하면 make doc 에 문제가 있습니다. 필요한 javadoc 버전은 1.5 입니다.

따라서 sun-java6-jdk 를 설치한 후 sun-java5-jdk 를 설치하거나 sun-java5-jdk 만 설치하는 것이 좋습니다. 여기에 Sun-java6-jdk 와 sun-java5-jdk 가 설치되어 있고 javadoc. 1.gz 와 javadoc 만 수정되었습니다. Make SDK 는 이 두 가지만 사용하기 때문입니다. 이 경우 1.5 버전의 javadoc 도구를 제외한 모든 도구의 버전은 1.6 입니다.

$ sudo apt-get 설치 sun-java6-jdk

Javadoc 에 대한 링크를 수정하려면 다음과 같이 하십시오.

$ CD/etc/ 대체

$ sudo RM javadoc. 1.gz

$ sudoln-s/usr/lib/JVM/Java-1.5.0-sun/man/man1/

$ sudo RM javadoc

$ sudoln-s/usr/lib/JVM/Java-1.5.0-sun/bin/javadoc javadoc

2) 환경 변수를 설정합니다

$ emacs ~/. Bashrc

에 PATH 변수를 추가하거나 통합합니다. Bashrc 는 다음과 같습니다.

#java 프로그램 개발/작업을 위한 일부 환경 변수

Java _ home =/usr/lib/JVM/Java-6-sun

JRE_HOME=${JAVA_HOME}/jre

ANDROID_JAVA_HOME=$JAVA_HOME 을 내보냅니다

내보내기 클래스 경로 =. : $ {Java _ home}/lib: $ JRE _ home/lib: $ classpath

Java _ path = $ {Java _ home}/bin 내보내기: $ {JRE _ home}/bin

JAVA _ HOME 내보내기

JRE _ HOME 내보내기

클래스 경로 내보내기

HOME_BIN=~/bin/

내보내기 경로 = $ {path}: $ {Java _ path}: $ {home _ bin};

저장 후 업데이트 동기화:

출처 ~/. Bashrc

3) repo 설치 (안드로이드 소스 코드 업데이트용)

재구매 프로그램을 저장할 ~/bin 디렉토리를 다음과 같이 만듭니다.

$ CD ~

$ mkdir bin

2 단계에서 추가한 환경 변수 PATH 에 추가합니다.

환매 스크립트 다운로드 및 실행 가능:

$ curl? Mon.git 커널

$ CD 커널

$ git 분기

표시

* 안드로이드 시스템

현재 android-2.6.27 의 분기에 있다는 뜻입니다. 이것은 kernel/common.git 의 기본 주 분기이기도 합니다.

모든 헤드 분기 표시:

$ git 분기 -a

표시

* 안드로이드 시스템

리모콘/소스/헤드-> 기원/안드로이드-2.6.27

리모콘/오리건/안드로이드-2.6.25

리모콘/오리건/안드로이드-2.6.27

리모콘/오리건/안드로이드-2.6.29

리모컨/원점/안드로이드-금붕어 -2.6.27

리모컨/원점/안드로이드-금붕어 -2.6.29

우리는 최신 안드로이드-금붕어 -2.6.29 를 선택했습니다. 여기서 금붕어는 안드로이드 시뮬레이터가 시뮬레이션한 CPU 입니다.

$ git checkout -b 안드로이드-금붕어 -2.6.29 기원/안드로이드-금붕어 -2.6.29

$ git 분기

표시

안드로이드-2.6.27

* 안드로이드-금붕어 -2.6.29

우리는 Android 의 지점인 금붕어 2.6.29 를 해 왔다.

D) 상호 컴파일 매개 변수 설정

커널 디렉토리에서 Makefile 을 열고 CROSS_COMPILE 을 방금 다운로드한 사전 빌드의 arm-eabi 컴파일러로 가리킵니다.

교차 컴파일? = arm-eabi-

유지

Ldflags _ build _ id = $ (patsubst-wl $ (쉼표)%,%, \

$ (ld-option 호출, -Wl$ (쉼표)-빌드-id,))

이 행을 주석 처리하고 다음과 같이 빈 LDFLAGS_BUILD_ID 정의를 추가합니다.

LDFLAGS_BUILD_ID =

E) 커널 이미지 컴파일

$ CD ~/Android/ 커널

$ make 금붕어 _defconfig

$ make

F) 생성된 커널 이미지를 테스트합니다.

$ emulator-avd myvd-kernel ~/Android/kernel/arch/arm/boot/zimage

上篇: Redmi Note12 Turbo 듀얼 주파수 GPS 下篇: 레노버 애프터 서비스 온라인 상담
관련 내용