programing

Android용 Eclipse의 관리 오류:configChanges

closeapi 2023. 5. 21. 11:28
반응형

Android용 Eclipse의 관리 오류:configChanges

Android:configChanges 행이 AndroidManifest.xml에서 Eclipse가 오류를 표시합니다.

<activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>

오류:

error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').

내가 떠날 때만keyboard|keyboardHidden|orientation오류는 없지만 컴파일러는 빌드를 시도할 때 나머지 4개를 요청합니다.

사용 중GoogleAdMobAdsSDK-4.3.1.

아이디어 있어요?

편집:project.properties(SDK의 14보다 낮은 곳에 있는 default.properties) 파일을 다음과 같이 변경하여 작동하게 되었습니다.

# Project target.
target=android-14

SDK Platform Android 4.0 - Revision 14가 설치되어 있는 SDK Manager에서 다운로드할 수 있습니다.

SDK Platform Android 3.2 - revision 13에서도 작동해야 하므로 project.properties 대상을 Android-13으로 변경하면 됩니다.기본적으로 SDK 리비전이 13 이상인지 확인하고 SDK 관리자에 해당 SDK가 설치되어 있고 default/project.properties에 있는 프로젝트 대상이 이를 가리키고 있는지 확인하기만 하면 됩니다.

쉬운 해결책: (아니오, min-sdk 값을 변경할 필요가 없습니다!)

1단계: "project.properties" 파일 변경

# Project target.
target=android-13

2단계: 이클립스에서

Project > Clean... > (select your project) > Clean projects selected below > OK

실제 예제에 대한 자세한 설명은 이 튜토리얼 http://www.monkeycoder.co.nz/Community/posts.php?topic=1121 을 사용하십시오.

건배!

간단한 답변: 언급된 구성 변경 사항은 Android 2.1에서 지원되지 않습니다. 여기에서 확인하십시오.

http://developer.android.com/guide/topics/manifest/activity-element.html#config

예: uiMode에는 API 레벨 8이 필요합니다.

AdMob 공식 문서에서:

요구 사항들

Android용 Google AdMob Ads SDK를 사용하려면 Android 1.5 이상이 필요합니다.Android SDK의 최신 복사본이 있는지 확인하고 적어도 Android v3.2에 대해 컴파일 중인지 확인합니다(default.properties에서 target을 Android-13으로 설정).

여기를 보세요: https://developers.google.com/admob/android/quick-start

그래서 저는 당신의 도구 버전이 적어도 버전 13으로 업데이트되지 않았다고 생각합니다.

Eclipse를 사용하는 사람들에게는 더 쉬운 방법이 있습니다: 왼쪽 "패키지 탐색기" 창에서 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성 -> Android ->를 클릭한 다음 "프로젝트 빌드 대상" 목록에서 API 13 이상을 확인합니다.

참고: 이는 편집과 동일한 효과입니다.project.properties어쨌든 자동 생성되는 것입니다.

이렇게 하면 이전에 인식되지 않았던 용어가 포함된 Android 3.2 SDK를 기반으로 프로젝트가 구축됩니다.

당신은 당신의 것을 떠날 수 있습니다.android:minSdkVersion그리고.targetSdkVersion값은 Manifest.xml에서 동일합니다.

하지만, 만약 당신이 설정하지 않는다면, 경고하세요.targetSdkVersion 12를 Android로 합니다.android:configChangesscreenSize그리고.smallestScreenSize(API 13에서 소개됨)가 설명되므로 활동을 파기하고 다시 시작할 수 있습니다.이 이것을 , 에 그 .<activity>태그(아마도 가지고 있었을 것입니다.keyboard|keyboardHidden|orientation지금까지).

그러나 응용 프로그램이 API 수준 12 이하를 대상으로 하는 경우 활동은 항상 이 구성 변경 자체를 처리합니다(이 구성 변경은 Android 3.2 이상의 장치에서 실행되는 경우에도 활동을 다시 시작하지 않습니다).

견적서는 여기입니다.

저도 같은 문제가 있어서 여기에 왔습니다.
저는 https://developers.google.com/admob/android/quick-start, 에서 샘플 코드를 다운로드했습니다. 위의 모든 답변에 여전히 문제가 있어서 샘플 프로젝트에서 제공하는 동일한 admob sdk를 사용했습니다.빌드 병 작업을 다시 수행합니다. 대상이 다음으로 변경되었습니다.android-15그들이 사용하는 것과 같은 선을 사용했습니다.

<activity android:name="com.google.ads.AdActivity" 
              android:configChanges="keyboard|keyboardHidden|orientation"/>

효과가 있습니다!

사용했습니까?android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|‌​screenSize|smallestScreenSize

아니면 더 짧은 것?만약 당신이 13 이상의 목표를 변경하고 더 긴 configChanges를 사용한다면, 그것은 작동할 것입니다.

간편한 솔루션:"project.properties" 파일을 21로 변경합니다.

# Project target.
target=android-21

2011년 10월 14일 이후에 만들어진 모든 새로운 Android 앱은 2011년 3월 15일 이후에 출시된 AdMob SDK가 필요합니다.이는 Android용 버전 4.0.2+에 해당합니다.공식 다운로드 사이트에서 라이브러리를 다운로드한 경우 이미 설정되어 있습니다.그렇지 않으면 2011년 3월 15일 이전에 출시된 AdMob SDK의 이전 버전이 있을 수 있으며 SDK를 업데이트할 때까지 새 앱은 광고 인상을 받지 못합니다.

언급URL : https://stackoverflow.com/questions/7899767/admob-error-in-eclipse-for-androidconfigchanges

반응형