React-native-onesignal: エラー:パッケージcom.geektime.rnonesignalandroidが存在しません

作成日 2018年03月19日  ·  4コメント  ·  ソース: OneSignal/react-native-onesignal

こんにちは、

私はすでにこの問題が参照されているのを見て、提案された解決策を試しましたが、それでもうまくいきません。
インストール時に空のプロジェクトで動作していますが、メインプロジェクトでは動作していないので、何が問題になるのでしょうか。

ただし、node_modules \ react-native-onesignal \ android \ src \ main \ java \ com \ geektime \ rnonesignalandroidで正しい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);
  }
}

私のnodes_modulesのReactNativeOneSignalPackage.java

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 {
...
}

最も参考になるコメント

理由はわかりませんが、「react-nativelink」が「compileproject( ':react-native-onesignal')」という行を追加していませんでした。手動で実行したところ、現在は機能しています。

もう1つの小さな問題は、リンクアクションが次の行を毎回追加することです。

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

問題を解決できます

全てのコメント4件

理由はわかりませんが、「react-nativelink」が「compileproject( ':react-native-onesignal')」という行を追加していませんでした。手動で実行したところ、現在は機能しています。

もう1つの小さな問題は、リンクアクションが次の行を毎回追加することです。

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

問題を解決できます

@Kiseproこの問題を再現できません。 私の試みでは、完全に新しいreact-nativeプロジェクトを作成し、readmeの指示に従ってreact-native-onesignalSDKを手動で追加しました。

READMEのガイダンスに正確に従って手紙を書きましたか? そうでない場合、どのようにそれをしましたか?

@ Nightsd01はい、私はそれを正確にフォローしました。まったく新しいReact-Nativeプロジェクトでそれを行うと、私にとっても機能します。

それは私のプロジェクトに固有のものだと思います。理由を理解したときにうまく機能させることができたので、その問題に時間を費やす必要はないと思います。

これは「react-native-push-notification」リンクが原因である可能性があります。このコンパイル命令のように、このパッケージと別の競合が発生しました。

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

このパッケージはもう必要ないので、削除するのは大したことではありませんでした

それで問題が解決したと聞いてうれしいです。

これに似た問題を解決できるonesignalグレードのプラグインがあります。 Appgradleファイルの先頭に配置する必要があります。

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin
このページは役に立ちましたか?
0 / 5 - 0 評価