React-native-onesignal: ошибка: пакет com.geektime.rnonesignalandroid не существует

Созданный на 19 мар. 2018  ·  4Комментарии  ·  Источник: OneSignal/react-native-onesignal

Привет,

Я уже видел ссылку на эту проблему и пробовал предложенные решения, но у меня они все еще не работают.
При установке он работает с пустым проектом, но не работает с моим основным проектом, поэтому мне интересно, в чем может быть проблема?

Однако я могу найти правильный пакет com.geektime.rnonesignalandroid в node_modules \ response-native-onesignal \ android \ src \ main \ java \ com \ geektime \ rnonesignalandroid, поэтому я не могу понять, почему он не найден.

реагировать 16.0.0
реагировать-родной 0.54.2

Мой 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);
  }
}

ReactNativeOneSignalPackage.java в моих модулях 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 {
...
}

Самый полезный комментарий

Я не знаю почему, но «ссылка на реакцию на родную» не добавляла строку «компилировать проект (': response-native-onesignal')». Я сделал это вручную, и теперь она работает.

Другая небольшая проблема заключается в том, что действие ссылки добавляет каждый раз следующие строки

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

Вопрос можно закрыть

Все 4 Комментарий

Я не знаю почему, но «ссылка на реакцию на родную» не добавляла строку «компилировать проект (': response-native-onesignal')». Я сделал это вручную, и теперь она работает.

Другая небольшая проблема заключается в том, что действие ссылки добавляет каждый раз следующие строки

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

Вопрос можно закрыть

@Kisepro Я не могу воспроизвести эту проблему. В своей попытке я создал полностью новый проект, поддерживающий реакцию, и вручную добавил SDK response-native-onesignal, следуя инструкциям в файле readme.

Вы в точности следовали указаниям в readme? Если нет, то как вы это сделали?

@ Nightsd01 Да, я точно следил за этим, и когда я делаю это в совершенно новом проекте, поддерживающем реакцию, это работает и для меня.

Я думаю, это действительно специфично для моего проекта, и мне удалось заставить его работать, когда я понял, почему, так что я думаю, вам не следует терять время на эту проблему.

Я подозреваю, что это могло быть из-за связывания "реагировать-родное-push-уведомление", у меня был еще один конфликт с этим пакетом, как эта инструкция по компиляции

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

Этот пакет мне больше не нужен, поэтому удалить его было несложно.

Рад слышать, что проблема решена.

У нас есть плагин oneignal grade, который может решать подобные проблемы. Его нужно разместить в верхней части файла Gradle приложения:

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin
Была ли эта страница полезной?
0 / 5 - 0 рейтинги