현재 위치 - 중국 분류 정보 발표 플랫폼 - 비즈니스 서비스 정보 - AndroidStudio에서 소스 코드를 보는 방법

AndroidStudio에서 소스 코드를 보는 방법

이 문서에서는 소스 코드의 development/tools/idegen/README를 지침 문서로 사용합니다.

환경: Ubuntu 14.10, openJdk 1.7, Android Studio 1.0.2, android-5.0 .1_r1 소스 코드

AS는 IntelliJ IDEA를 기반으로 개발되었으므로 이 글은 IntelliJ IDEA에도 적용됩니다

1. Android Studio(이하 ​​AS)의 메모리 구성을 수정합니다.

소스 코드를 가져올 때 많은 메모리가 소모되므로 먼저 IDEA_HOME/bin/studio64.vmoptions에서 -Xms 및 -Xmx 값을 수정합니다(x86 시스템의 경우 studio.vmoptions 수정). 문서는 748m을 사용하며, 이는 스스로 수정할 수 있습니다.

2. AS의 JDK 및 SDK 구성

클래스 경로 없이 JDK를 IDE에 추가하여 소스 코드의 라이브러리 파일이 사용되도록 합니다.

사용할 SDK로는 Java SDK가 있습니다. 아래와 같이

3. AS 가져오기에 필요한 구성 파일(*.ipr)을 생성합니다.

① 소스 코드를 컴파일합니다(.java 파일이 생성되었는지 확인하려면, R.java 등 컴파일하면 다시 컴파일할 필요가 없습니다.)

② out/host/linux-x86/framework/ 디렉터리에 idegen.jar이 있는지 확인하세요

< p>idegen.jar이 없으면 다음을 실행합니다:

mmm development/tools/idegen/

5.0.1 소스 코드에서는 res.java 폴더가 생성됩니다. idegen.jar이 실행될 때 FileNotFoundException이 발생하는 이유는 idegen의 코드가 충분하지 않기 때문입니다.

내 공유에 이 버그를 수정하는 패치가 있거나 내가 공유한 idegen.jar을 직접 사용할 수 있습니다.

③실행

development/tools/idegen/idegen.sh

다음과 유사한 결과를 기다립니다:

읽기 제외: 5ms

Traversed tree: 44078ms

이때 소스코드의 루트디렉터리에 두 개의 IntelliJ IDEA인 android.ipr과 android.iml이 생성됩니다(AS는 기반으로 개발됨) IntelliJ IDEA Community Edition) 구성 파일

팁:

코드를 가져올 때 AS는 상대적으로 느립니다. 그렇지 않은 코드를 제외하려면 android.iml을 먼저 수정하는 것이 좋습니다. 다음과 같은 폴더 구문을 사용하여 .repo 파일을 필터링할 수 있습니다.

lt; lt; 제외폴더 url="file:// $MODULE_DIR$/abi" /gt;

excludeFolder url="file://$MODULE_DIR$/art"

< p>abi 및 art 폴더를 가져올 때 이를 건너뛰게 됩니다. 필터링을 많이 할수록 AS 처리 속도가 빨라집니다.

④AS의 소스 코드 루트 디렉터리에서 새로 생성된 android.ipr을 엽니다.< /p>

가져오기 중 AS가 나타나는 경우

주어진 해결 방법에 따라 해결하는 것이 좋습니다(웹사이트: /display/IDEADEV/Inotify Watches Limit). 구체적인 내용은 다음과 같습니다.

IV.소스 코드의 점프 오류 문제 해결

①현재 프로젝트에 맞는 SDK 및 JDK 설정

②'모듈'의 종속성 설정

먼저 모든 종속성을 삭제합니다. 위 그림에서 '1'로 표시된 두 개만 남겨두고 삭제합니다. (참고: 여기서는 편의상 모두 삭제하세요.

.jar이 실제로 사용되는 경우 해당 경로를 추가하기만 하면 됩니다.

예: 5.0.1의 ContactsCommon은 geocoder-2.9.jar 및 libphonenumber-6.2.jar을 사용합니다.

' 위 그림에서 '2'로 표시된 ''을 선택하고 위 그림에서 '3'으로 표시된 'Jars 또는 디렉터리' 옵션을 선택하고 프레임워크와 외부 폴더를 차례로 추가합니다. 예:

기타 프레임워크를 추가할 때 버전 코드가 다음과 같이 표시될 수 있습니다.

상관없습니다. 단지 표시 문제일 뿐이며 확인을 클릭하면 여전히 프레임워크 경로가 추가됩니다.

여전히 코드 점프 오류가 있습니다. 위의 단계를 따르고 해당 코드의 경로 또는 jar 파일을 종속성 탭에 추가하세요.

5. DEBUG 소스 코드

새로 가져온 'Android Framework'를 프로젝트의 '모듈'에 추가하면 AS가 Android 프로젝트로 처리할 수 있으므로 코드 디버깅이 더 쉬워집니다.

'Android Framework'를 '에 따라 추가할 수 있습니다. 위 그림의 1'과 '2'가 지원됩니다.

코드에 중단점을 추가한 후 '실행'->'Android 프로세스에 디버거 연결'을 선택하거나 아래 표시된 아이콘을 직접 클릭하세요

p>

팝업에서 프로세스 선택 대화 상자에서 모든 프로세스 표시를 선택하고 디버그할 코드가 있는 프로세스를 선택한 후 확인을 클릭합니다.

6. 기타 코드

로컬 프롬프트 Call에 API 레벨 x가 필요합니다.... 이 문제는 AS가 우리 프로젝트를 Android 애플리케이션 프로젝트로 간주하고 소스 코드에 minSdkVersion이 지정되지 않았기 때문에 발생합니다.

< p>minSdkVersion을 선언하는 AndroidManifest.xml 파일만 추가하면 됩니다(AndroidManifest.xml은 공유되었습니다).

이 문제를 해결하기 위해 build.gradle 사용을 고려할 수도 있습니다.