React-native-onesignal: error: el paquete com.geektime.rnonesignalandroid no existe

Creado en 19 mar. 2018  ·  4Comentarios  ·  Fuente: OneSignal/react-native-onesignal

Hola,

Ya vi este problema referenciado y probé las soluciones propuestas, pero todavía no me funciona.
Está funcionando en un proyecto vacío cuando lo instalo, pero no funciona en mi proyecto principal, así que me pregunto cuál podría ser el problema.

Sin embargo, puedo encontrar el paquete com.geektime.rnonesignalandroid correcto en node_modules \ react-native-onesignal \ android \ src \ main \ java \ com \ geektime \ rnonesignalandroid, así que no puedo entender por qué no se encuentra.

reaccionar 16.0.0
react-nativo 0.54.2

Mi MainApplication.java

package com.XXX;

import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
import android.app.Application;

import com.facebook.react.ReactApplication;
import com.AlexanderZaytsev.RNI18n.RNI18nPackage;
import com.facebook.reactnative.androidsdk.FBSDKPackage;
import com.inprogress.reactnativeyoutube.ReactNativeYouTube;
import com.oblador.vectoricons.VectorIconsPackage;
import com.imagepicker.ImagePickerPackage;
import com.RNFetchBlob.RNFetchBlobPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.CallbackManager;
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private static CallbackManager mCallbackManager = CallbackManager.Factory.create();

  protected static CallbackManager getCallbackManager() {
    return mCallbackManager;
  }

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    <strong i="12">@Override</strong>
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    <strong i="13">@Override</strong>
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(new MainReactPackage(),
          new ReactNativeOneSignalPackage(),

          new RNI18nPackage(), new FBSDKPackage(mCallbackManager), new ReactNativeYouTube(), new VectorIconsPackage(),
          new ImagePickerPackage(), new RNFetchBlobPackage());
    }

    <strong i="14">@Override</strong>
    protected String getJSMainModuleName() {
      return "index";
    }
  };

  <strong i="15">@Override</strong>
  public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
  }

  <strong i="16">@Override</strong>
  public void onCreate() {
    super.onCreate();

    FacebookSdk.sdkInitialize(getApplicationContext());
    // If you want to use AppEventsLogger to log events.

    SoLoader.init(this, /* native exopackage */ false);

    AppEventsLogger.activateApp(this);
  }
}

El ReactNativeOneSignalPackage.java en mis nodes_modules

package com.geektime.rnonesignalandroid;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Created by Avishay on 1/31/16.
 */
public class ReactNativeOneSignalPackage implements ReactPackage {
...
}

Comentario más útil

No sé por qué, pero el "enlace nativo de reacción" no estaba agregando la línea "proyecto de compilación (': react-native-onesignal')" Lo hice manualmente y ahora está funcionando

Otro problema menor es que la acción de enlace agrega cada vez las siguientes líneas

import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
new ReactNativeOneSignalPackage(),

El problema se puede cerrar

Todos 4 comentarios

No sé por qué, pero el "enlace nativo de reacción" no estaba agregando la línea "proyecto de compilación (': react-native-onesignal')" Lo hice manualmente y ahora está funcionando

Otro problema menor es que la acción de enlace agrega cada vez las siguientes líneas

import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
new ReactNativeOneSignalPackage(),

El problema se puede cerrar

@Kisepro No puedo reproducir este problema. En mi intento, creé un proyecto react-native completamente nuevo y agregué manualmente el SDK react-native-onesignal siguiendo las instrucciones en el archivo Léame.

¿Seguiste las instrucciones del archivo Léame al pie de la letra? Si no es así, ¿cómo lo hiciste?

@ Nightsd01 Sí, lo seguí con precisión, y hacerlo en un proyecto nativo de reacción completamente nuevo también funciona para mí.

Creo que es realmente específico para mi proyecto y logré hacerlo funcionar cuando entendí por qué, así que supongo que no deberías perder el tiempo en ese tema.

Sospecho que esto podría deberse al enlace "react-native-push-notification", tuve otro conflicto con este paquete como esta instrucción de compilación

dependencies {
    compile ('com.google.android.gms:play-services-gcm:8.1.0') {
        force = true;
    }
...
}

Ya no necesito este paquete, así que no fue un gran problema eliminarlo

Me alegra saber que se resolvió su problema.

Tenemos un complemento de grado único que puede resolver problemas similares a este. Debe colocarse en la parte superior del archivo gradle de la aplicación:

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin
¿Fue útil esta página
0 / 5 - 0 calificaciones