Android Studio - java.lang.RuntimeException java.lang.IllegalStateException

1

Witam,
Od paru dni zacząłem zabawę z AndroidStudio i napotkałem pewien problem :
Napisałem z poradnikiem pewien kod który miał po 3s przechodzić z jednego okna na drugie - no i wszystko fajnie działało. Po pewnym czasie znalazłem inny kod, który wydawał mi się prostszy i robił to samo więc zakomentowałem wcześniejszy kod i napisałem tamten. Puściłem emulator no i wyskoczył błąd " My Application has stopped". Usunąłem więc nowo napisany kod i odkomentowałem poprzedni ... no i niestety błąd został i nie wiem o co chodzi ...

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.myapplication, PID: 12909
    java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: 
    
    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here: https://goo.gl/fQ2neu to add a valid  *
    * App ID inside the AndroidManifest. Google Ad Manager publishers should     *
    * follow instructions here: https://goo.gl/h17b6x.                           *
    ******************************************************************************
    
    
        at android.app.ActivityThread.installProvider(ActivityThread.java:5814)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5403)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)
        at android.app.ActivityThread.-wrap2(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6077)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
     Caused by: java.lang.IllegalStateException: 
    
    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here: https://goo.gl/fQ2neu to add a valid  *
    * App ID inside the AndroidManifest. Google Ad Manager publishers should     *
    * follow instructions here: https://goo.gl/h17b6x.                           *
    ******************************************************************************
    
    
        at com.google.android.gms.internal.ads.zzze.attachInfo(Unknown Source)
        at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(Unknown Source)
        at android.app.ActivityThread.installProvider(ActivityThread.java:5811)
        	... 10 more

Tutaj jest zaimplementowana metoda która wcześniej działała: (MainActivity.java)

package com.example.myapplication;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.WindowManager;

public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        int SPLASH = 3000;
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(MainActivity.this, activity_menu.class);
                MainActivity.this.startActivity(intent);
                MainActivity.this.finish();
            }
        }, SPLASH);

    }


}

Jeżeli potrzebne są jeszcze jakieś kody to proszę napisać i wstawię.

0

Pokaż AndroidManifset.xml i activity_menu.

0
Michał Sikora napisał(a):

Pokaż AndroidManifset.xml i activity_menu.

AndroidManifset.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <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=".activity_menu"></activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

activity_menu.java:

package com.example.myapplication;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.WindowManager;

public class activity_menu extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

    }
}
0

Hmm... możesz jeszcze pokazać R.layout.activity_main i R.layout.activity_menu?

0
Michał Sikora napisał(a):

Hmm... możesz jeszcze pokazać R.layout.activity_main i R.layout.activity_menu?

main:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">


</android.support.constraint.ConstraintLayout>

menu:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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=".activity_menu">

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:orientation="vertical"
        android:gravity="center|top"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="300dp"
            android:layout_height="300dp"
            tools:srcCompat="@tools:sample/avatars" />

        <Button
            android:id="@+id/button"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:text="Start"
            android:layout_marginTop="30dp"/>

        <LinearLayout
            android:layout_width="300dp"
            android:layout_height="100dp"
            android:layout_marginTop="30dp"
            android:orientation="horizontal">

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_marginRight="10dp"
                android:layout_weight="1"
                android:text="Button" />

            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Button" />
        </LinearLayout>

        <TextView
            android:id="@+id/textView4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView" />



    </LinearLayout>
</android.support.constraint.ConstraintLayout>

Jeśli o te pliki chodzi

0

Dodam że już wcześniej miałem podobny błąd. Przekopiowałem do nowego projektu kod z activity_main.xml, MainActivity.java, activity_menu.xml oraz activity_menu.java i wszystko działało.

0

Ok. Nie mam pojęcia... Spróbuj wyczyścić projekt (w terminalu Android Studio gradlew clean) i zbudować go jeszcze raz. Wklej też link do tego drugiego sposobu, z którego zrezygnowałeś, to może ustali się coś, co mogło pójść nie tak.

0

No to jestem w totalnej kropce. Już dla świętego spokoju zapytam o plik build.gradle w folderze app, ale nie sądzę, że będzie tam coś.

0
Michał Sikora napisał(a):

No to jestem w totalnej kropce. Już dla świętego spokoju zapytam o plik build.gradle w folderze app, ale nie sądzę, że będzie tam coś.

o kurde faktycznie coś jest z tym plikiem. Skopiowałem kod do nowego projektu z tego pliku i wtedy wywaliło

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 21
        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.android.gms:play-services-ads:17.1.3'
}

Podkreśla linię 23

1

Wyrzuć to implementation 'com.google.android.gms:play-services-ads:17.1.3'. Powinno pomóc, ale jest to okropne zachowanie ze strony tej biblioteki.

0

Powiem tak, wywaliłem ostatnią linię z tego bo porównałem ten plik z pustym projektem i działa :D Wielkie dzięki bo sam bym do tego nie doszedł. Teraz tylko co mogło być tego powodem i jak tego uniknąć?

0

Jest to biblioteka do reklam. Żeby z niej korzystać, należy zarejestrować klucz, który będzie identyfikował unikalnie naszą aplikację. Ty tego nie robiłeś i dlatego wywalało błąd. To, co jest okropne, to fakt, że jest konieczność rejestracji klucza mimo, że nigdzie nie korzystałeś z biblioteki i tylko ją dodałeś do projektu.

0

Ok w takim razie jeszcze raz wielkie dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1