You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中AdView正常显示但红米Note8 Pro真机不显示

AdMob集成问题:布局预览正常但红米Note 8 Pro真机不显示AdView

在Android Studio布局预览中AdView显示正常,但在Xiaomi Redmi Note 8 Pro真机运行时,AdView完全不显示,连空的AdView都看不到。

XML布局代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="5dp"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyyy">
</com.google.android.gms.ads.AdView>
</RelativeLayout>

注:真实Banner ID已替换为占位符,该ID来自AdMob后台。

Manifest清单代码

<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:dataExtractionRules="@xml/data_extraction_rules"
    android:fullBackupContent="@xml/backup_rules"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.SchoolTimeTable"
    tools:targetApi="31">
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    <activity
        android:name=".TaskLoadActivity"
        android:exported="false">
        <meta-data
            android:name="android.app.lib_name"
            android:value="" />
    </activity>
    <activity
        android:name=".OnSubjectClickActivity"
        android:exported="false">
        <meta-data
            android:name="android.app.lib_name"
            android:value="" />
    </activity>
    <activity
        android:name=".AddSubjectActivity"
        android:exported="false">
        <meta-data
            android:name="android.app.lib_name"
            android:value="" />
    </activity>
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <meta-data
            android:name="android.app.lib_name"
            android:value="" />

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

注:真实应用ID已替换为占位符,该ID来自AdMob后台。

MainActivity的onCreate方法

@Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });

    AdView mAdView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
}

使用的依赖版本:

implementation 'com.google.android.gms:play-services-ads:22.5.0'

排查解决方案

  • 确认网络权限:检查红米手机系统设置中该APP的网络权限是否开启(包括移动数据和WiFi),部分国产手机会默认限制APP网络访问。
  • 改用测试广告ID:替换AdView的adUnitId为AdMob官方测试ID:ca-app-pub-3940256099942544/6300978111,排除真实广告单元未审核通过或无广告填充的问题。
  • 调整布局参数:将AdView的android:layout_width改为match_parent,BANNER广告宽度需适配屏幕,wrap_content可能导致真机布局异常。
  • 修正广告加载时机:将loadAd调用移到MobileAds.initialize的回调方法内,确保AdMob初始化完成后再请求广告:
    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
            AdView mAdView = findViewById(R.id.adView);
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);
        }
    });
    
  • 查看日志信息:在Android Studio的LogCat中过滤关键词Ads,查看AdMob初始化、广告请求的错误日志,定位具体问题。
  • 关闭系统广告拦截:红米手机自带广告拦截功能,进入系统设置关闭对该APP的广告拦截,或将APP加入白名单。
  • 核对ID正确性:再次确认Manifest中的APPLICATION_ID和AdView的adUnitId与AdMob后台完全一致,注意应用ID是~分隔,广告单元ID是/分隔。

内容的提问来源于stack exchange,提问作者Milutin Nedeljkovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:35:54