Olá,
Já vi esse problema ser referenciado e tentei as soluções propostas, mas ainda não está funcionando para mim.
Ele está trabalhando em um projeto vazio ao instalá-lo, mas não está funcionando no meu projeto principal, então estou me perguntando qual poderia ser o problema?
No entanto, posso encontrar o pacote com.geektime.rnonesignalandroid correto em node_modules \ react-native-onesignal \ android \ src \ main \ java \ com \ geektime \ rnonesignalandroid, então não consigo entender por que ele não foi encontrado.
reagir 16.0.0
reagente nativo 0.54.2
Meu 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);
}
}
O ReactNativeOneSignalPackage.java em meus 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 {
...
}
Não sei por que, mas o "link react-native" não estava adicionando a linha "compile project (': react-native-onesignal')" Fiz manualmente e agora está funcionando
Outro pequeno problema é que a ação do link adiciona cada vez as seguintes linhas
import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
new ReactNativeOneSignalPackage(),
O problema pode ser fechado
@Kisepro Não consigo reproduzir este problema. Em minha tentativa, criei um projeto reac-nativo completamente novo e adicionei manualmente o SDK react-native-onesignal seguindo as instruções no readme.
Você seguiu as orientações do leia-me exatamente ao pé da letra? Se não, como você fez isso?
@ Nightsd01 Sim, eu o segui com precisão e, ao fazê-lo em um projeto
É muito específico para o meu projeto, eu acho, e consegui fazer funcionar quando entendi o porquê, então acho que você não deve perder seu tempo com esse assunto.
Eu suspeito que isso pode ser devido ao link "react-native-push-notification", eu tive outro conflito com este pacote como esta instrução de compilação
dependencies {
compile ('com.google.android.gms:play-services-gcm:8.1.0') {
force = true;
}
...
}
Eu não preciso mais deste pacote, então não foi um grande problema removê-lo
Fico feliz em saber que isso resolveu seu problema.
Temos um plugin de grau de sinal único que pode resolver problemas semelhantes a este. Ele precisa ser colocado na parte superior do arquivo do App gradle:
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin
Comentários muito úteis
Não sei por que, mas o "link react-native" não estava adicionando a linha "compile project (': react-native-onesignal')" Fiz manualmente e agora está funcionando
Outro pequeno problema é que a ação do link adiciona cada vez as seguintes linhas
O problema pode ser fechado