studio porque intent error ejecutar detuvo detiene cierra app aplicacion java android firebase firebase-authentication

java - porque - "No se pudo obtener el proveedor com.google.firebase.provider.FirebaseInitProvider" Ruta de error de Android



porque se detiene la aplicacion de android studio (5)

En AndroidStudio trata de hacer esto:

  1. ctrl + alt + s
  2. Haga clic en "Build, Execution, Deployment"
  3. desactivar "Ejecución instantánea"

Esto debería funcionar

Tengo una aplicación que está conectada a firebase. El problema es cuando instalo la aplicación en el dispositivo (trabajando en varios dispositivos). Leo muchos foros y nadie funciona. Leo here y this y así sucesivamente. ¡Gracias!

El error esta aquí

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.dev.ptruck, PID: 8833 java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn''t find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dev.ptruck-17.apk"],nativeLibraryDirectories=[/data/app-lib/com.dev.ptruck-17, /vendor/lib, /system/lib]] at android.app.ActivityThread.installProvider(ActivityThread.java:5196) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4788) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4728) at android.app.ActivityThread.access$1500(ActivityThread.java:166) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5584) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: Didn''t find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dev.ptruck-17.apk"],nativeLibraryDirectories=[/data/app-lib/com.dev.ptruck-17, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:497) at java.lang.ClassLoader.loadClass(ClassLoader.java:457) at android.app.ActivityThread.installProvider(ActivityThread.java:5181) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4788)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4728)  at android.app.ActivityThread.access$1500(ActivityThread.java:166)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5584)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)  at dalvik.system.NativeStart.main(Native Method) 

Aquí está la clase de inicio

public class StartActivity extends Activity { private static final String FIREBASE_URL = "https://database.firebaseio.com/"; private Firebase myFirebaseRef = null; View rootView; String uid; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); Firebase.setAndroidContext(this); final ProgressBar p = (ProgressBar) findViewById(R.id.start_progress_bar); } private void checkUserLogin() { myFirebaseRef.addAuthStateListener(new Firebase.AuthStateListener() { @Override public void onAuthStateChanged(AuthData authData) { if (authData != null) { System.out.println(myFirebaseRef.getKey()); Intent toMainActivity = new Intent(getApplicationContext(), MenuActivity.class); uid = myFirebaseRef.getAuth().getUid(); toMainActivity.putExtra("user_id", uid); finish(); startActivity(toMainActivity); } else if (authData == null) { Intent toMainActivity = new Intent(getApplicationContext(), LoginActivity.class); startActivity(toMainActivity); // user is not logged in } } }); } private Runnable task = new Runnable() { public void run() { checkUserLogin(); } }; @Override protected void onStart() { super.onStart(); if(myFirebaseRef == null) { myFirebaseRef = new Firebase(FIREBASE_URL); } Handler handler = new Handler(); handler.postDelayed(task, 3000); } @Override protected void onDestroy() { super.onDestroy(); unbindDrawables(rootView); rootView = null; System.gc(); } protected void unbindDrawables(View view) { if (view != null) { if (view.getBackground() != null) { view.getBackground().setCallback(null); } if (view instanceof ViewGroup && !(view instanceof AdapterView)) { for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) { unbindDrawables(((ViewGroup) view).getChildAt(i)); } ((ViewGroup) view).removeAllViews(); } } }

}


Si recientemente ha cambiado la versión de dependencia de Firebase en su gradle, es posible que deba actualizar a la última versión de Google Repository en el administrador de Android SDK.

Si no puede actualizar el repositorio de Google en ese momento, intente volver a bajar la versión de dependencia de Gradle.


Solo inserte las líneas siguientes en su proyecto AndroidManifest.xml , si no están en la etiqueta de la aplicación

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


También me he enfrentado al mismo problema con Firebase al ejecutar la aplicación debajo de los dispositivos API 19 (<4.4.2) debido a un error de Multidex . Entonces debajo de la solución funciona para mí:

En el módulo de aplicación build.gradle

android { ... defaultConfig { multiDexEnabled true ... } } dependencies { // add dependency compile ''com.android.support:multidex:1.0.1'' } // ADD THIS AT THE BOTTOM apply plugin: ''com.google.gms.google-services''

nombre de actualización en AndroidManifest.xml

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:name=".MyApplication" android:theme="@style/AppTheme"> // ... </application>

Crate un archivo MyApplication.java

public class MyApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } }


Tengo el mismo problema, lo que hice fue desinstalar la aplicación del dispositivo / emulador y luego volver a instalarla (desde Android Studio, botón ''ejecutar'').