Android 由于清单错误,Admob应用程序持续崩溃
以下是我的清单,我关注了2018年更新的横幅广告手册页:Android 由于清单错误,Admob应用程序持续崩溃,android,admob,Android,Admob,以下是我的清单,我关注了2018年更新的横幅广告手册页: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.admin.ad"> <uses-permission android:name="android.permission.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.admin.ad">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>
</manifest>
我收到此错误,应用程序强制关闭:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.admin.ad, PID: 26343
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.admin.ad/com.example.admin.ad.MainActivity}: android.view.InflateException: Binary XML file line #24: Binary XML file line #24: Error inflating class com.google.android.gms.ads.Adview
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2485)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)
at android.app.ActivityThread.access$1100(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5601)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
Caused by: android.view.InflateException: Binary XML file line #24: Binary XML file line #24: Error inflating class com.google.android.gms.ads.Adview
at android.view.LayoutInflater.inflate(LayoutInflater.java:543)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.example.admin.ad.MainActivity.onCreate(MainActivity.java:18)
at android.app.Activity.performCreate(Activity.java:6355)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)
at android.app.ActivityThread.access$1100(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5601)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
Caused by: android.view.InflateException: Binary XML file line #24: Error inflating class com.google.android.gms.ads.Adview
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:780)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:839)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)
at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.example.admin.ad.MainActivity.onCreate(MainActivity.java:18)
at android.app.Activity.performCreate(Activity.java:6355)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)
at android.app.ActivityThread.access$1100(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5601)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.Adview" on path: DexPathList[[zip file "/data/app/com.example.admin.ad-1/base.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.admin.ad-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.admin.ad-1/lib/arm64, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:768)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:839)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)
at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.example.admin.ad.MainActivity.onCreate(MainActivity.java:18)
at android.app.Activity.performCreate(Activity.java:6355)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)
at android.app.ActivityThread.access$1100(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5601)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.ads.Adview
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
这是我的布局文件:-
<?xml version="1.0" encoding="utf-8"?>
<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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<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"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
我只是admob的初学者,请帮帮我删除梯度文件,使缓存无效并重新启动项目,同时放置 MobileAds.initialize(这是“ca-app-pub-3940256099942544~3347517113”)
在顶部。我也会这样做。我认为这是因为DEX限制问题,因为您已经使用了多个大型库,如支持库 有多种解决方案: i)简单快捷:在应用程序中启用多索引。虽然这是一个简单而快速的方法,但我不建议这样做,因为我们应该始终深入错误和问题,以找到根本原因并积累知识 ii)没有什么挑战性(虽然不是那么具有挑战性!):分析你的apk,注意它在结果apk中推动的方法的数量。这将有助于您识别罪魁祸首并最大限度地减少使用
根据您的分析,您可以为每个库启用proguard,以缩小生成的apk中的代码 这些答案似乎不太令人信服,因为它们没有处理错误消息 a) 它抱怨说,
XML
无效,因为在错误的节点上声明了名称空间
二进制XML文件行#24:错误膨胀classcom.google.android.gms.ads.Adview
因此,请将其替换为:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
及
为什么你建议删除gradle文件?你能给出一个例子的要点吗?是的,首先我建议取消缓存并重新启动。您可以在文件列中找到它。您可以在github配置文件中与我共享一个测试应用程序吗?这将是很大的帮助,我仍然没有得到所需的结果。你可以发布
build.gradle
文件和布局
文件吗?更新。请看上面。谢谢。请添加xmlns:tools=”http://schemas.android.com/tools“
在RelativeLayout
标记中。感谢应用程序现在没有崩溃,但是横幅测试广告没有显示,并且在日志中显示了此错误:GoogleService未能初始化,状态:10,从名为google_app_id的字符串资源中缺少google app id值。无法理解您。。以下是丢失谷歌应用程序id的完整错误。Firebase分析已禁用。请参阅firebase 2019-01-17 20:49:47.531 5050-5181/com.example.myapplication E/FA的url:无法上载。应用程序测量disabled@superhuman您缺少模块build.gradle
底部的apply插件:“com.google.gms.google services”
。。。这是未处理google services.json
的常见原因,这将提供字符串资源google\u app\u id
。添加了firebase,但广告仍然没有显示对延迟响应的歉意。你可以在git上制作一个测试应用程序吗?我仍然没有得到所需的结果,我没有任何android开发者朋友,只有web开发者。。
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-ads:17.1.2'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.android.gms:play-services-ads:17.1.2'
}
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
<com.google.android.gms.ads.AdView
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111"