Android 프로젝트에서 대상 빌드를 변경하는 방법은 무엇입니까?


82

현재 Eclipse에 Android 프로젝트가 있습니다.

대상 빌드 1.5 (sdk 3)로 만들었습니다.

이제 minSdk가 3이고 targetSdk가 8이되도록 변경하고 싶습니다.

이렇게하려면 최신 SDK (2.2)를 기반으로 빌드해야합니다.

Eclipse에서이 작업을 수행하려면 내 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동 한 다음 Android를 클릭하고 프로젝트 빌드 대상을 Android 2.2로 변경하고 적용을 클릭 한 다음 확인을 클릭합니다.

그러나 이것은 영향을 미치지 않는 것처럼 보이며 다시 시도하면 대상 빌드가 Android 1.5로 다시 설정됩니다.

단계를 놓치고 있습니까?

답변:


95

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 클릭합니다. 그런 다음 왼쪽 트리에서 "Android"를 선택합니다. 그런 다음 오른쪽에서 대상 버전을 선택할 수 있습니다.

(아래의 인기있는 주석에 따라 속성, 클래스 경로 및 프로젝트 파일이 쓰기 가능한지 확인하십시오. 그렇지 않으면 작동하지 않습니다.)


20
내 속성, 클래스 경로 및 프로젝트 파일을 끈다은이 didnt 한 일, 지금 왜 작동하는지, 감사 인 쓰기가 불가능으로 설정 한
DONAL 래퍼 티를

3
나는이 같은 문제에 부딪혔다. 소스 제어로 인해 파일이 쓰기 불가능하고 전환이 차단되었습니다. 당신은 어떤 종류의 경고 나 문제가 있다는 표시를받지 않습니다 ... 그것은 단지 전환되지 않습니다. 다른 사람들이이 문제를 발견하면 "편집을 위해 체크 아웃"하거나 소스 제어 라이브러리에 올바른 작업이 있는지 확인하십시오.
Michael Stoner

DEFAULT 옵션을 설정하는 방법은 무엇입니까? 여러 APK로 짜증나는이 모든 시간을 설정해야하는 종류의 ...
MBillau

@DonalRafferty 쓰기 가능 여부를 확인하는 방법은 무엇입니까? 그리고 그것들을 쓰기 가능하게 만드는 방법?
Muhammad Babar 2014 년

@Muhammad Babar 자동으로 파일을 읽기 전용으로 만드는 Visual Source safe를 사용하고있었습니다. 파일에서 읽기 전용 상자의 선택을 취소하고 당시 Windows 시스템을 사용하고있었습니다.
Donal Rafferty 2014 년

24
  1. 프로젝트의 빌드 대상은 언제든지 변경할 수 있습니다.

    패키지 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 Android를 선택한 다음 원하는 프로젝트 대상을 확인합니다.

  2. AndroidManifest.xml 파일 (프로젝트 루트 디렉터리에 있음)에서 다음 요소를 편집합니다.

    이 경우 다음과 같습니다.

    <uses-sdk android:minSdkVersion="3" />
    <uses-sdk android:targetSdkVersion="8" />
    

    저장해

  3. 프로젝트를 다시 빌드하십시오.

    메뉴 모음에서 프로젝트를 클릭하고 정리 ...를 선택합니다.

  4. 이제 프로젝트를 다시 실행하십시오.

    프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 다음으로 실행으로 이동 한 다음 Android 애플리케이션을 선택합니다.

그건 그렇고, ADT로 Eclipse에서 프로젝트 관리를 검토하는 것이 도움이 될 것입니다. 특히 Android 프로젝트 만들기라는 부분이 있습니다.


5
팁 :이 모든 단계를 수행 한 후 Eclipse를 다시 시작하십시오. 이것은 놀라운 일을 할 수 있습니다.
cimnine 2011

동의합니다! Eclipse가 다시 시작될 때까지이 작업을 수행 할 수 없습니다.
페드로

Android Studio에서는이 줄을 병합해야했습니다. 이것이 Android 스튜디오에만 해당되는지 또는 게시 된 이후 매니페스트 형식에 변경이 필요한지 확실하지 않습니다. 예 : <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
Eric Farraro 2014 년

@Alan Will I 'm 빽빽한 aff이지만 지구상 어디에서 그 첫 번째 포인트를 클릭합니까 ... 패키지 탐색기 ... 나는 아무 속성도 볼 수 없습니다! :-(
Dariusz

11

ant를 사용하는 경우 명령 줄에서 또 다른 방법은 android.bat 스크립트 (Windows) 또는 android 스크립트 (Mac)를 사용하는 것입니다. $ SDK_DIR / tools에 있습니다.

당신이 말하는 경우,

android.bat update project --path .  --target "android-8"

build.xml, AndroidManifest.xml 등을 다시 생성합니다.


6

이 문제를 해결하는 방법에는 세 가지가 있습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 클릭합니다. 그런 다음 왼쪽에서 "Android"를 선택합니다. 그런 다음 오른쪽에서 대상 버전을 선택할 수 있습니다.

  2. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "다음 계정으로 실행"을 선택하면 드롭 다운 목록이 열립니다.
    드롭 다운 목록에서 "구성 실행"을 선택합니다. 그러면 양식이 열리고 "양식"에서 "대상"탭을 선택하고 응용 프로그램을 실행하려는 Android 버전 Api를 선택합니다. 다른 대상 버전의 응용 프로그램.

  3. AndroidManifest.xml 파일에서 다음 요소를 편집하십시오.

xml :

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />

3

이클립스에서 수행하는 방법에 대해 Ryan Conrad와 동의합니다. manifest.xml을 변경했는지 확인 했습니까?

 <uses-sdk android:minSdkVersion="3" />
 <uses-sdk android:targetSdkVersion="8" />

3

프로젝트에 오류가있을 때 문제가 발생하는 경우가 있습니다.

예를 들어 프로젝트가 3.2 대상으로 구성되었지만 3.2 라이브러리를 사용할 수없는 경우 버전을 4.0으로 변경할 수 없습니다!

내가 사용하는 일반적인 (아마도 잔인한) 솔루션은 올바른 대상으로 새 프로젝트를 만들고 src, res 및 manifest를 새 프로젝트에 복사하는 것입니다.

최신 정보:

이것은 작동하는 것 같습니다.

  1. 빌드 속성을 통해 선택한 항목을 정상적으로 변경하십시오.
  2. project.properties 및 default.properties를 수동으로 편집하여 둘 다 원하는 대상을 반영하는지 확인하십시오.
  3. 프로젝트를 닫고 다시 엽니 다.

저는 항상 Android 도구 | 빌드 대상을 변경 한 후 프로젝트 속성을 수정합니다.


3

이 파일 default.properties은 기본적으로 읽기 전용이므로 저에게 효과적입니다.


2

파일에 "uses-sdk"태그가 여러 개 있으면 안됩니다. ref- 문서

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />

1

나도이 문제가 있었다. 나를 위해 일한 것은 새 원하는 버전을 확인하기 전에 이전에 선택한 SDK 버전을 먼저 선택 취소하는 것이 었습니다. 그런 다음 확인을 클릭하십시오.


1

마이크 방식이 말했듯이. android : installLocation = "auto"와 같이 더 높은 대상이 필요한 프로젝트를 수행하기 전에 대상을 변경하십시오.


0

프로젝트-> 속성-> 안드로이드-> 대상 이름 선택-대상 설정-확인을 클릭하십시오.



0

sdk 29- android 10을 얻으려면 :

도구> SDK 관리자를 클릭합니다.

SDK 플랫폼 탭에서 Android 10 (29)을 선택합니다.

SDK 도구 탭에서 Android SDK Build-Tools 29 이상을 선택합니다.

확인을 클릭하여 설치를 시작하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.