Admob xml: следните класове не можаха да бъдат създадени: - com.google.android.gms.ads.AdView

Следвах всички стъпки за импортиране на google-play-services, опитах да преинсталирам sdk, повторно импортиране. Опитах се да добавя тегло и текстови изгледи, за да му дам място... Опитах всичко през последните 2 дни, но продължавам да получавам тази грешка в графичния интерфейс на xml оформлението, което казва:

the following classes could not be instantiated: - com.google.android.gms.ads.AdView.

********манифест*/**********

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.alphaking.xxxxxxe"
    android:versionCode="1"
    android:versionName="1.0" >
<uses-feature android:name="android.hardware.sensor.accelerometer" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >

        <activity
             android:screenOrientation="portrait"
            android:name="xxxxxxxxxe.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.STARTINGPOINTS" />

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

        <activity
            android:screenOrientation="portrait"
            android:name="com.alphaking.ijumprope.Settings"
            android:label="@string/app_name" >
        </activity>

        <activity
            android:screenOrientation="portrait"
            android:name="com.alphaking.ijumprope.Start"
            android:label="@string/app_name" >
        </activity>

        <activity
            android:screenOrientation="portrait"
            android:name="xxxxxxxxxxxxx.Logs"
            android:label="@string/app_name" >
        </activity>

        <activity
            android:screenOrientation="portrait"
            android:name="cxxxxxxxxe.About"
            android:label="@string/app_name" >
        </activity>

         <activity
            android:screenOrientation="portrait"
            android:name="xxxxxxxxxxx.Splash"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

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

        <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>



    </application>

</manifest>

*****////////************основна дейност java************* *********

package cxxxxxxxxxxxxxxxxxxx;

import com.alphxxxxxxgxxxxxxxxxx;
import com.google.android.gms.ads.*;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class MainActivity extends Activity{

    Button setting,start,logs,about;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        setting=(Button) findViewById(R.id.button2);
        setting.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                try{
                    Class ourClass = Class.forName("com.xxxxxxxxxxxxx.Settings");
                    Intent ourIntent = new Intent(MainActivity.this, ourClass);
                    startActivity(ourIntent);
                    }catch(ClassNotFoundException e){
                        e.printStackTrace();
                    }
            }
        });

        start=(Button) findViewById(R.id.button1);
        start.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                try{
                    Class ourClass = Class.forName("com.alphaking.ijumprope.Start");
                    Intent ourIntent = new Intent(MainActivity.this, ourClass);
                    startActivity(ourIntent);
                    }catch(ClassNotFoundException e){
                        e.printStackTrace();
                    }
            }
        });

        logs=(Button) findViewById(R.id.button3);
        logs.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                try{
                    Class ourClass = Class.forName("cxxxxxxxxxxxx
                    Intent ourIntent = new Intent(MainActivity.this, ourClass);
                    startActivity(ourIntent);
                    }catch(ClassNotFoundException e){
                        e.printStackTrace();
                    }
            }
        });

        about=(Button) findViewById(R.id.button4);
        about.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                try{
                    Class ourClass = Class.forName("xxxxxxxxxxxxxxAbout");
                    Intent ourIntent = new Intent(MainActivity.this, ourClass);
                    startActivity(ourIntent);
                    }catch(ClassNotFoundException e){
                        e.printStackTrace();
                    }
            }
        });


    }
    public void onBackPressed() {
    }


}

************************xml************************ **********

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.alphaking.xxxxxxxxxxxxxActivity"
    android:background="@drawable/back"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" >

    <Button
        android:id="@+id/button1"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="40dp"
        android:background="@drawable/start" />

    <Button
        android:id="@+id/button2"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/button1"
        android:layout_marginTop="30dp"
        android:background="@drawable/setup" />

    <Button
        android:id="@+id/button3"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_alignLeft="@+id/button2"
        android:layout_below="@+id/button2"
        android:layout_marginTop="30dp"
        android:background="@drawable/logs" />

    <Button
        android:id="@+id/button4"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_alignLeft="@+id/button3"
        android:layout_below="@+id/button3"
        android:layout_marginTop="30dp"
        android:background="@drawable/about" />

    <com.google.android.gms.ads.AdView
        android:layout_width="320dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-1278770925901425/7987430192"
        ads:loadAdOnCreate="true"
        android:gravity="center" >
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

person Farzy    schedule 12.08.2014    source източник
comment
Коя версия на GPS използвате? BTW ads:loadAdOnCreate=true не се поддържа при използване на admob чрез GPS   -  person Nana Ghartey    schedule 12.08.2014
comment
използвате ли Android studio..?   -  person    schedule 12.08.2014
comment
gms 5.0.89-000, дори не работи с java кода, даден от google   -  person Farzy    schedule 12.08.2014
comment
Имам абсолютно същия проблем във всичките си проекти с реклами при отваряне на xml оформления. Започна да се случва, след като актуализирах gps до 19. Разрешавали ли сте някога това?   -  person Mark    schedule 04.10.2014
comment
Не, приложението ми е без реклами!   -  person Farzy    schedule 05.10.2014


Отговори (5)


Това е така, защото сте добавили грешен клас на дейност във вашия манифестен файл. Така че просто го променете с това.

<activity android:name="com.google.android.gms.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
person Piyush    schedule 12.08.2014
comment
Вече опитах това и не работи, както е посочено в отговора по-долу - person Farzy; 14.08.2014

Това е временно решение за мен. Понижих версията на Google Play Services SDK от 5.x обратно на 4.x. Използвам Intellij Community 13.x с Gradle, така че секцията ми за зависимости изглежда така сега:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:20.0.0'
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'com.google.android.gms:play-services:4.+'
}

Отново, само временно, за да ми позволи да завърша изграждането на своите XML файлове с оформление. Планирам да надстроя до най-новата версия 5.x, когато вляза в последната фаза на тестване. Подадох въпроси относно този проблем във форума за разработчици на реклами в Google AdMob с надеждата да привлека вниманието на някого. Не съм сигурен точно къде да подадете доклад за грешка за този конкретен SDK. .

person Gail    schedule 09.09.2014

Декларирайте com.google.android.gms.ads.AdActivity в манифеста, т.е. в промяната на вашия манифестен файл

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

to

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

За повече информация вижте Деклариране на com.google.android.gms.ads.AdActivity

Също така добавете android:id="@+id/adView" във вашия xml изглед като

 <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="320dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-1278770925901425/7987430192"
        ads:loadAdOnCreate="true"
        android:gravity="center" >
    </com.google.android.gms.ads.AdView>

И не забравяйте да изчистите проекта.

За повече информация вижте Създайте свой банер в XML

person Giru Bhai    schedule 12.08.2014
comment
все още не работи, но да, това е правилният, промених го на adview случайно, за да видя дали ще работи - person Farzy; 12.08.2014
comment
@Alphak какво имаш предвид под не работи? Опита ли се да изчистиш проекта си? - person Giru Bhai; 12.08.2014
comment
ясно като чисто? Изчистих го и все още ми дава: следните класове не можаха да бъдат създадени: - com.google.android.gms.ads.AdView. в XML графичното оформление - person Farzy; 12.08.2014
comment
все още не работи, това са всички неща, които опитах след оригиналния код на Google, оригиналният код на Google не работеше за мен. - person Farzy; 12.08.2014
comment
@Alphak Използвате ли библиотека на услугите на Google Play или самостоятелен буркан на admob? - person Giru Bhai; 12.08.2014
comment
@Alphak също добавете android:id="@+id/adView" във вашия xml, вижте отговора. - person Giru Bhai; 12.08.2014
comment
не работи, Google го има, вече опитах кода на Google, кодът, който публикувах, е просто още един опит - person Farzy; 12.08.2014
comment
премахнете реда ads:loadAdOnCreate=true в xml и проверете - person Shadow; 12.08.2014
comment
Предполагам, че това е свързано с библиотеки или нещо подобно, освен че всичко изглежда наред, Java кодовете по отношение на рекламните неща са инстанцирани, само xml дава проблеми.. - person Farzy; 12.08.2014

Отидете на dimens.xml и променете стойността на маржа на оформлението от 16dp на 0dp.

person Bilal Ahmed    schedule 12.08.2014

Това проработи за мен:

Отворете своето xml оформление, превключете към изглед Текст, В панела Визуализация щракнете върху бутона Опресняване и проблемът ще бъде решен.

Ако проблемът продължава, уверете се, че имате зависимостта от firebase ads във файла build.gradle на вашето приложение:

компилирайте „com.google.firebase:firebase-ads:9.8.0“

person Darush    schedule 24.11.2016