Мой Android-приложение, имеющее вход в Google, вылетает. Он принимает электронную почту и пароль в качестве входных данных и после этого каждый раз происходит сбой. - PullRequest
0 голосов
/ 08 сентября 2018

Я делаю приложение с входом в Google, но оно падает после ввода пароля. Я не могу понять этот параметр ошибки E / eglCodecCommon: glUtilsParamSize: неизвестный параметр 0x000082da E / eglCodecCommon: glUtilsParamSize: неизвестный параметр 0x000082da и я получаю фатальное исключение как

E / AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.abc.project, PID: 7050 Java. }: java.lang.NullPointerException

Java-файл:

package com.abc.project;

        import:

        import android.app.Activity;
        import android.content.Intent;
        import android.support.annotation.NonNull;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.ImageView;
        import android.widget.TextView;

        import com.bumptech.glide.Glide;
        import com.google.android.gms.auth.api.Auth;

        import com.google.android.gms.auth.api.signin.GoogleSignInAccount;

        import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
        import com.google.android.gms.auth.api.signin.GoogleSignInResult;
        import com.google.android.gms.common.ConnectionResult;
        import com.google.android.gms.common.api.GoogleApiClient;
        import com.google.android.gms.common.api.ResultCallback;
        import com.google.android.gms.common.api.Status;

        import java.util.Objects;

        public class GoogleSignInActivity extends AppCompatActivity  implements View.OnClickListener,GoogleApiClient.OnConnectionFailedListener {


            private TextView Email;
            private TextView Name;
            private GoogleApiClient googleApiClient;
            private ImageView Prof_Pic;
            private static final int REQ_CODE = 9001;

        on create:

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_google_sign_in);
                findViewById(R.id.prof_section).setVisibility(View.GONE);
                findViewById(R.id.bn_logout).setOnClickListener(this);
                findViewById(R.id.bn_login).setOnClickListener(this);
                Name =findViewById(R.id.name);
                Email = findViewById(R.id.email);
                Prof_Pic = findViewById(R.id.prof_pic);
                GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build();
                googleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this, this).addApi(Auth.GOOGLE_SIGN_IN_API, signInOptions).build();
            }

        onclick:


            @Override
            public void onClick(View v) {

                switch (v.getId()) {
                    case R.id.bn_login:
                        signIn();
                        break;
                    case R.id.bn_logout:
                        signOut();
                        break;
                }


            }

            @Override
            public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

            }

onsignin:

            private void signIn() {
                Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
                startActivityForResult(intent, REQ_CODE);
            }


        on signout:


            private void signOut() {
                Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(new ResultCallback<Status>() {
                    @Override
                    public void onResult(@NonNull Status status) {
                        updateUI(false);
                    }
                });
            }


        if google sign in is successful:


            private void handleResult(GoogleSignInResult result) {
                if (result.isSuccess()) {
                    GoogleSignInAccount account = result.getSignInAccount();
                    assert account != null;
                    String name = account.getDisplayName();//get name
                    String email = account.getEmail();//get email
                    String img_url = Objects.requireNonNull(account.getPhotoUrl()).toString();//get pic
                    Name.setText(name);//set name
                    Email.setText(email);//set email
                    Glide.with(this).load(img_url).into(Prof_Pic);
                    updateUI(true);
                } else {
                    updateUI(false);
                }
            }


        User interface update:


            private void updateUI(boolean isLogin) {
                if (isLogin) {
                    findViewById(R.id.prof_section).setVisibility(View.VISIBLE);
                    findViewById(R.id.bn_login).setVisibility(View.GONE);
                } else {
                    findViewById(R.id.prof_section).setVisibility(View.GONE);
                    findViewById(R.id.bn_login).setVisibility(View.VISIBLE);
                }
            }


        I'am getting an error here:


            @Override
            protected void onActivityResult(int requestCode, int resultCode ,Intent data){
                super.onActivityResult(requestCode, resultCode, data);
        //I hope this is correct
                if(requestCode== REQ_CODE  )
                {
                    GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
                    handleResult(result);
                }
            }
        }

Ниже logcat:

    09/08 02:06:27: Launching app
    $ adb install-multiple -r -t C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\resources\instant-run\debug\resources-debug.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\dep\dependencies.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_4.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_6.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_2.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_3.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_7.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_5.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_0.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_8.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_9.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\split-apk\debug\slices\slice_1.apk C:\Users\genev\Desktop\ANDROID\Project\app\build\intermediates\instant-run-apk\debug\app-debug.apk 
    Split APKs installed
    $ adb shell am start -n "com.abc.project/com.abc.project.GoogleSignInActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
    Client not ready yet..Waiting for process to come online
    Connected to process 7050 on device emulator-5554
    Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
    I/InstantRun: starting instant run server: is main process
    I/zygote: The ClassLoaderContext is a special shared library.
    I/chatty: uid=10084(com.abc.project) identical 1 line
    I/zygote: The ClassLoaderContext is a special shared library.
    W/zygote: Unsupported class loader
    W/zygote: Skipping duplicate class check due to unsupported classloader
    D/AutoManageHelper: starting AutoManage for client 0 false null
    D/AutoManageHelper: onStart true {0=com.google.android.gms.common.api.internal.zzi$zza@38ae9f9}
    D/OpenGLRenderer: HWUI GL Pipeline
    D/: HostConnection::get() New Host Connection established 0xd610bd40, tid 7082
    I/zygote: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
    I/OpenGLRenderer: Initialized EGL, version 1.4
    D/OpenGLRenderer: Swap behavior 1
    W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
    D/OpenGLRenderer: Swap behavior 0
    D/EGL_emulation: eglCreateContext: 0xe9185fa0: maj 3 min 1 rcv 4
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)

Не недооценивайте эту ошибку:

    E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da 

// не могу понять эту ошибку param

    E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/AutoManageHelper: onStart true {0=com.google.android.gms.common.api.internal.zzi$zza@38ae9f9}
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/AutoManageHelper: onStart true {0=com.google.android.gms.common.api.internal.zzi$zza@38ae9f9}
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)
    D/EGL_emulation: eglMakeCurrent: 0xe9185fa0: ver 3 1 (tinfo 0xf109ba50)

Роковое исключение отсюда:

    D/AndroidRuntime: Shutting down VM


where is the null pointer exception:


    E/AndroidRuntime: FATAL EXCEPTION: main
                      Process: com.abc.project, PID: 7050
                      java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=9001, result=-1, data=Intent { (has extras) }} to activity {com.abc.project/com.abc.project.GoogleSignInActivity}: java.lang.NullPointerException
                          at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
                          at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
                          at android.app.ActivityThread.-wrap19(Unknown Source:0)
                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
                          at android.os.Handler.dispatchMessage(Handler.java:106)
                          at android.os.Looper.loop(Looper.java:164)
                          at android.app.ActivityThread.main(ActivityThread.java:6494)
                          at java.lang.reflect.Method.invoke(Native Method)
                          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
                       Caused by: java.lang.NullPointerException
                          at java.util.Objects.requireNonNull(Objects.java:203)
                          at com.abc.project.GoogleSignInActivity.handleResult
    (GoogleSignInActivity.java:90)
                          at com.abc.project.GoogleSignInActivity.onActivityResult(GoogleSignInActivity.java:117)
                          at android.app.Activity.dispatchActivityResult(Activity.java:7276)
                          at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
                          at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312) 
                          at android.app.ActivityThread.-wrap19(Unknown Source:0) 
                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644) 
                          at android.os.Handler.dispatchMessage(Handler.java:106) 
                          at android.os.Looper.loop(Looper.java:164) 
                          at android.app.ActivityThread.main(ActivityThread.java:6494) 
                          at java.lang.reflect.Method.invoke(Native Method) 
                          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...