android 용 Eclipse의 Admob 오류 : 구성 변경 Eclipse에서 AndroidManifest.xml의

Eclipse에서 AndroidManifest.xml의 android : configChanges 행에 오류가 발생했습니다.

<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 관리자 가진 SDK 플랫폼 안드로이드 4.0 – 수정 (14) 를 설치.

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



답변

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

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

예를 들어 uiMode에는 API 레벨 8이 필요합니다.

공식 AdMob 설명서에서 :

요구 사항

Android 용 Google AdMob 광고 SDK에는 Android 1.5 이상이 필요합니다. 최신 Android SDK 사본이 있고 Android v3.2 이상 (default.properties의 target을 android-13으로 설정) 에 대해 컴파일하고 있는지 확인하십시오 .

https://developers.google.com/admob/android/quick-start를 살펴보십시오.

따라서 도구 버전이 버전 13 이상으로 업데이트되지 않았다고 생각합니다.


답변

쉬운 해결책 : (그리고 NO-sdk 값을 변경할 필요가 없습니다 !!)

1 단계 :
“project.properties”파일 변경

# Project target.
target=android-13

2 단계 :
Eclipse에서

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

실제 예제에 대한 자세한 설명을 보려면이 자습서 http://www.monkeycoder.co.nz/Community/posts.php?topic=1121을 사용 하십시오.

건배!


답변

Eclipse를 사용하는 사람들에게는 더 쉬운 방법이 있습니다.
왼쪽 “패키지 탐색기”분할 창에서 프로젝트 폴더를 마우스 오른쪽 단추로 클릭하고 특성-> Android->를 클릭하고 “프로젝트 빌드 대상”목록에서 API 13 이상을 체크하십시오.

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

그러면 이전에 인식되지 않은 용어가 포함 된 Android 3.2 SDK에 대해 프로젝트가 빌드됩니다.

당신은 떠날 수 귀하 android:minSdkVersiontargetSdkVersionManifest.xml에서 값을 동일하게 .

하지만주의 할 당신이 당신의 설정하지 않으면, targetSdkVersionAPI 12 이하로 (또는 전혀 설정하지 않음) 안드로이드 시스템이 있다고 가정합니다 android:configChangesscreenSizesmallestScreenSize됩니다 따라서 (API 13에 도입) 회계 및 활동을 파괴하고 다시 시작할 수 있습니다. 이를 피하려면 다른 <activity>태그 ( keyboard|keyboardHidden|orientation지금 까지만 있었을 것임) 에 해당 용어를 포함시켜야합니다 .

그러나 애플리케이션이 API 레벨 12 이하를 대상으로하는 경우 활동은 항상이 구성 변경 자체를 처리합니다 (이 구성 변경은 Android 3.2 이상 디바이스에서 실행중인 경우에도 활동을 다시 시작하지 않습니다).

견적은 여기에서 입니다.


답변

나는 같은 문제가있어서 여기에 왔습니다. https://developers.google.com/admob/android/quick-start
에서 샘플 코드를 다운로드했지만 위의 모든 답변에 여전히 문제가 있었으므로 샘플 프로젝트에서 동일한 admob sdk를 사용했습니다. 빌드 jars 항목을 다시 실행하고 target을로 변경 하고 사용하는 것과 동일한 행을 사용했습니다.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를 업데이트 할 때까지 새 앱에 광고 노출이 발생하지 않습니다.