React-native-onesignal: erreur : le package com.geektime.rnonsignalandroid n'existe pas

Créé le 19 mars 2018  ·  4Commentaires  ·  Source: OneSignal/react-native-onesignal

Bonjour,

J'ai déjà vu ce problème référencé et j'ai essayé les solutions proposées mais cela ne fonctionne toujours pas pour moi.
Cela fonctionne sur un projet vide lors de l'installation mais ne fonctionne pas sur mon projet principal, alors je me demande quel pourrait être le problème ?

Cependant, je peux trouver le package com.geektime.rnonsignalandroid correct dans node_modules\react-native-onesignal\android\src\main\java\com\geektime\rnonsignalandroid donc je ne comprends pas pourquoi il n'est pas trouvé.

réagir 16.0.0
réactif natif 0.54.2

Mon application principale.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);
  }
}

Le ReactNativeOneSignalPackage.java dans mes 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 {
...
}

Commentaire le plus utile

Je ne sais pas pourquoi mais le "lien react-native" n'ajoutait pas la ligne "compile project(':react-native-onesignal')" Je l'ai fait manuellement et cela fonctionne maintenant

Un autre problème mineur est que l'action de lien ajoute à chaque fois les lignes suivantes

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

Le problème peut être clos

Tous les 4 commentaires

Je ne sais pas pourquoi mais le "lien react-native" n'ajoutait pas la ligne "compile project(':react-native-onesignal')" Je l'ai fait manuellement et cela fonctionne maintenant

Un autre problème mineur est que l'action de lien ajoute à chaque fois les lignes suivantes

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

Le problème peut être clos

@Kisepro Je ne parviens pas à reproduire ce problème. Dans ma tentative, j'ai créé un tout nouveau projet react-native et ajouté manuellement le SDK react-native-onesignal en suivant les instructions du fichier readme.

Avez-vous suivi à la lettre les instructions du fichier readme ? Si non, comment avez-vous fait ?

@ Nightsd01 Oui, je l'ai suivi avec précision, et le faire sur un tout nouveau projet natif de réaction, cela fonctionne aussi pour moi.

C'est vraiment spécifique à mon projet je pense et j'ai réussi à le faire fonctionner quand j'ai compris pourquoi donc je suppose que vous ne devriez pas perdre votre temps sur cette question.

Je soupçonne que cela pourrait être dû à la liaison "react-native-push-notification", j'ai eu un autre conflit avec ce paquet comme cette instruction de compilation

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

Je n'ai plus besoin de ce paquet donc ce n'était pas grave de le supprimer

Je suis heureux d'apprendre que cela a résolu votre problème.

Nous avons un plugin de qualité onesignal qui peut résoudre des problèmes similaires à celui-ci. Il doit être placé en haut du fichier App gradle :

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin
Cette page vous a été utile?
0 / 5 - 0 notes