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 {
...
}
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
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
Le problème peut être clos