Ajout AdMob à mon application Android me rend fou: oannonces Firebase: java.lang.InstantiationError: com.google.android.gms.internal.zznv
Firebase est déjà en cours d'exécution (auth, db, ...).
J'ai ajouté la dépendance de gradle pour les annonces aussi.
J'ai suivi les instructions de Google exactement.
J'ai deux questions:
- Le conteneur AdView dans mon dossier de mise en page XML ne peut pas être rendue dans l'aperçu. Il dit:
The following classes could not be instantiated: com.google.android.gms.ads.AdView
Exception Details java.lang.NoClassDefFoundError: Could not initialize class com.google.android.gms.internal.zzeh at com.google.android.gms.internal.zzez. at com.google.android.gms.internal.zzez. at com.google.android.gms.internal.zzez. at com.google.android.gms.ads.BaseAdView. at com.google.android.gms.ads.AdView. at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
- Si je tente d'initialiser des annonces dans mon code, il se bloque dans ce code en ligne:
MobileAds.initialize(getApplicationContext(), "ca-app-pub-XXXXXXXXXXXXXXXXX");
E/UncaughtException: java.lang.InstantiationError: com.google.android.gms.internal.zznv at com.google.android.gms.internal.zzeh.(Unknown Source) at com.google.android.gms.internal.zzeh.(Unknown Source) at com.google.android.gms.internal.zzfb.zza(Unknown Source) at com.google.android.gms.ads.MobileAds.initialize(Unknown Source) at com.google.android.gms.ads.MobileAds.initialize(Unknown Source) at de.philweb.myweightlog.MainActivity.onCreate(MainActivity.java:233)
J'ai essayé tout ce que j'ai trouvé sur SO. Comme MultiDex et en ajoutant AdsActivity à manifester, pas de succès. Maintenant, je vraiment besoin de votre aide :(
Merci les gars, phil
le manifeste:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.philweb.myweightlog">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyAppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
<!-- ATTENTION: This was auto-generated to add Google Play services to your project for App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information.
-->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
c'est mon build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "de.philweb.myweightlog"
minSdkVersion 16
targetSdkVersion 22
// multiDexEnabled true
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
// compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.0.1' //22.2.0'
compile 'com.android.support:support-v4:25.0.1' //22.2.0'
compile 'com.google.firebase:firebase-core:10.0.1'
compile 'com.google.firebase:firebase-crash:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-ads:10.0.1'
compile 'com.google.firebase:firebase-appindexing:10.0.1'
// compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:design:25.0.1'
compile 'com.firebaseui:firebase-ui:1.0.0'
compile "com.androidplot:androidplot-core:1.4.0"
compile 'com.darwinsys:hirondelle-date4j:1.5.1'
compile('com.mikepenz:materialdrawer:[email protected]') {
transitive = true
}
}
apply plugin: 'com.google.gms.google-services'
Publiez le fichier build.gradle de votre application. –
Voyez-vous ce problème dans les versions de débogage et de publication? Si, par hasard, c'est seulement pour la version finale, et que vous utilisez ProGuard, alors il se peut que vous deviez ajouter 'keep class com.google.android.gms. ** {*; } 'à votre fichier de configuration ProGuard. –
j'ai ajouté le build.gradle ....... j'ai les questions dans le mode de débogage ... je n'ai pas exporté en tant que version buil et ne pas utiliser proguard AFAIK :) – just4phil