2017-10-10 1 views
1

웹에서 많은 검색을했는데 부분적으로는해야 할 일을 이해했습니다.Android SDK는 많은 양의 디스크 공간을 필요로합니다.

내 IDE (Android Studio)에서 안드로이드 SDK에 대한 최신 업데이트를 사용할 수 있다고 상기 시켰을 때 설치하기 위해 제공했습니다. 이제 Android-SDK 디렉토리가 87Gb의 HDD 메모리를 차지한다는 것을 알았습니다. 이것은 모든 Android API가 이전 버전에서 최신 버전으로 설치 되었기 때문에 발생합니다.

오늘 모든 SDK 디렉토리를 삭제하고 SDK 도구를 새로 설치하기로 결정했습니다. SDK 관리자가 Android Development 용으로 설치하여 실행해야하는 최소한의 것들이 무엇인지 묻습니다. 내 앱이 Android API 14 (4.0 IceCream)에서 최소 사용 가능한 API 버전 (2017 년 10 월 현재 API 25)으로 실행되어야한다고 생각하십시오. 중독에서 Lollipop 5.1 (API 22)과 함께 Android 에뮬레이터를 사용합니다.

마지막으로 물어 본 것은 새로운 사용 가능 버전이있을 때 SDK를 설치하지 못하도록 이전 API 버전을 모두 제거해야합니까?

이것은 내 Android Studio SKD 관리자의 스크린 샷입니다. 당신이 볼 수 있듯이 유일한 API는이 SDK 관리자의 패키지 세부 사항의 스크린 샷 일련의 enter image description here enter image description here

enter image description here

다른 사람은 25 enter image description here

7.1.1 누가 API입니다 확인 모두 체크되지 않았다. Android 5.1 Lollipop API 22의 경우 Lollipop을 설치 한 상태에서 Android 에뮬레이터를 만든 후에 체크 표시가 나타납니다.

NB : 모바일 프로그래밍 용으로 필요한 것은 TV 나 웨어러블이 아닙니다.

+0

Android SDK 디렉토리에서 공간을 차지하는 부분을 정확히 볼 것을 권장합니다. 예를 들어, Linux에서는'du -d 1 -m'을 실행하여 최상위 SDK 디렉토리에서 사용되는 디스크 공간을 볼 수 있습니다.필자의 경우 ~ 80GB는'system-images'에 있으며, 에뮬레이터 이미지가있는 곳입니다. 귀하의 사진이 동일하면 사용하지 않을 에뮬레이터 이미지를 제거하십시오. – CommonsWare

+0

문제는 IDE에서 SDK 업데이트 설치를 제안 할 때마다 시스템 이미지 등을 포함한 모든 API를 축적했기 때문입니다. – Vin

답변

2

SDK가 자랄 수 없도록 이전 API 버전을 모두 제거해야합니까?

예는 SDK로 촬영 공간의 크기를 줄이기 위해이 작업을 수행 할 수 있습니다

단점 : 당신은 당신이 위의 막대 사탕과에 특정 장치에 대한 귀하의 응용 프로그램을 실행하는 경우 instant run을 사용할 수 없습니다.

참고 : 지원 라이브러리는 이전 버전

From docs, Revision 26.0.0 Release (July 2017)

최소 SDK 버전은 결과 14로 증가되었습니다에 대한 지원을 중단했다 당신이 API 14에서 이전 버전을 삭제할 수 있습니다, 많은 이전 API 레벨과의 호환성을 위해서만 존재했던 API는 이 더 이상 사용되지 않습니다. 이 API의 클라이언트는 각 사용 중단 된 API에 대한 참조 페이지에 명시된대로 해당 프레임 워크로 마이그레이션해야합니다.

+0

예를 들어 앱의 build.gradle 파일에이 행을 씁니다. :'minSdkVersion 21' 'targetSdkVersion 25' SDK 관리자에서 API 21 이상을 설치하지 않은 경우에도이 범위의 API를 가진 기기에서 내 앱을 실행할 수 있습니까? – Vin

+0

어느 선이 있습니까? 당신은 타겟 API, 최소 지원 (당신이 API를 실행하지 않는 한 SDK의 API를 reuired하지 않음), 지원 라이브러리 버전, 타사 등등에 대한 의존성을 gradle에 추가하기 만해도 앱을 삭제하면됩니다. 다른 API에서는 실행할 수 있지만 에뮬레이터에서는 –

+0

예에서 테스트 할 수 있지만 에뮬레이터에서는 테스트하지 않고 실제 장치에서는 테스트 할 수 있습니다. –

관련 문제