在看到apk后,我看到“你必须在AndroidManifest.xml中使用configChanges声明AdActivity。”

时间:2014-06-22 23:56:17

标签: android xml apk jarsigner

我有一个apk。我需要更改apk和徽标中的一些精灵。

  1. 我首先使用:apktool.bat d -s -f "SRacer.apk"
  2. 反编译您发送的apk
  3. 然后我改变了徽标和汽车精灵。
  4. 然后我使用apktool.bat和参数b重建apk。
  5. 然后我使用jarsigner和我的密钥库文件
  6. 签署这个apk
  7. 然后我使用:zipalign.exe -v 4 SRacer.apk
  8. 我使用jarsigner检查签名,并说它是正确的。

    然后,admob广告不起作用。

    我检查了编译好的apk的androidmanifest,它在XML中有配置更改和adactivity。

    我不知道出了什么问题,因为我看到的不是广告 "您必须在AndroidManifest.xml中使用configChanges"声明AdActivity;但我宣布该活动已经宣布。

    这是清单(在编译和签名之后):

    <?xml version="1.0" encoding="utf-8"?>
    <manifest android:versionCode="3" android:versionName="1.2" android:installLocation="auto" package="com.androidapps.sracer"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
        <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/ic_launcher">
            <activity android:label="@string/app_name" android:name="com.androidapps.sracer.MainMenuActivity" android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:label="@string/app_name" android:name="com.androidapps.sracer.LevelSelectActivity" android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.ALTERNATIVE" />
                </intent-filter>
            </activity>
            <activity android:label="@string/app_name" android:name="com.androidapps.sracer.RecordsMenuActivity" android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.ALTERNATIVE" />
                </intent-filter>
            </activity>
            <activity android:label="@string/app_name" android:name="com.androidapps.sracer.HelpMenuActivity" android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.ALTERNATIVE" />
                </intent-filter>
            </activity>
            <activity android:label="@string/app_name" android:name="com.androidapps.sracer.PreloaderActivity" android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.ALTERNATIVE" />
                </intent-filter>
            </activity>
            <activity android:label="@string/app_name" android:name="com.androidapps.sracer.GamePlayActivity" android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.ALTERNATIVE" />
                </intent-filter>
            </activity>
            <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode" />
        </application>
    </manifest>
    

1 个答案:

答案 0 :(得分:0)

我看到的问题是,你还没有向configChanges声明完整的属性。此外,您需要将您的SDK版本设置为更高级别,因为旧版本不支持所有属性(如果我记得正确,则需要API 13)。您的configChanges应如下所示:

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

属性区分大小写,因此请务必正确设置它们。