React-native установка ошибок Moengage при запуске Android: пакет MoEngage не существует

Я устанавливаю пакеты MoEngage sdk и react-native-moengage в свое родное приложение для реагирования, но мне пока не удалось запустить приложение, даже следуя инструкциям в официальный сайт.

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

Я пытался очистить gradle, запустить из CLI, запустить из студии Android, запустить на физическом устройстве, изменить версии appcompat (сломать другие вещи, поэтому я бы предпочел не делать этого снова)... Безрезультатно.

В настоящее время работает:

  • Виндовс 10 64бит

  • Реагировать родной 0.59.8. Это не новое приложение, оно началось с версии 0.55.4 и со временем перешло на версию 0.59.8.

  • Инструменты сборки Gradle 3.3.0 и Gradle версии 4.10.1 — все

// app/build.gradle

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    ...
}
...
dependencies {
    implementation project(':react-native-moengage')
    implementation 'com.moengage:moe-android-sdk:+'
    implementation fileTree(dir: "libs", include: ["*.jar"])    
    implementation "com.android.support:appcompat-v7:28.0.0"
    implementation "com.facebook.react:react-native:+"  // From node_modules
    ...
}

// settings.gradle

include ':react-native-moengage'
project(':react-native-moengage').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-moengage/android')
//MainApplication.java

...
import com.moengage.react.MoEReactPackage;
...


public class MainApplication extends Application implements ReactApplication {
...

  @Override
  public boolean getUseDeveloperSupport() {
    return BuildConfig.DEBUG;
  }

  @Override
  protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new MoEReactPackage(),
    );
  }
  };

  @Override
  public void onCreate() {
    super.onCreate();
    MoEngage moEngage =
        new MoEngage.Builder(this, "XXX")
            .build();
    MoEngage.initialise(moEngage);
  }

Пока я получил только следующее сообщение

...project\android\app\src\main\java\io\lifevision\MainApplication.java:95: error: cannot find symbol
    MoEngage moEngage =
    ^
  symbol:   class MoEngage
  location: class MainApplication
...project\android\app\src\main\java\io\lifevision\MainApplication.java:96: error: package MoEngage does not exist
        new MoEngage.Builder(this, "UZXYFJ0V2RQRUFJTMVHOAJKC")
                    ^
...project\android\app\src\main\java\io\lifevision\MainApplication.java:98: error: cannot find symbol
    MoEngage.initialise(moEngage);
    ^
  symbol:   variable MoEngage
  location: class MainApplication
3 errors

Если это дополнительный , в конце массива, это потому, что я удалил пакеты под ним, чтобы не загромождать ответ, это не последний пакет

Oscar Colmenares 05.06.2019 20:21

Вы должны изменить свой ключ: «UZXYFJ0V2RQRUFJTMVHOAJKC».

understack 31.07.2020 16:10
0
2
378
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Оператор импорта для MoEngage.java отсутствует. Ниже приведен необходимый оператор импорта

import com.moengage.core.MoEngage;

Я бы порекомендовал вам включить автоматический импорт в вашей среде IDE (Android Studio), это поможет вам управлять импортом.

Позвольте мне, если это не решит вашу проблему. В качестве альтернативы вы можете написать нам по адресу [email protected]

Я работал с VScode, поэтому у меня не было автоматического импорта. Пропустил это из-за того, что скопировал все, вместо того, чтобы печатать сам, но это сработало, спасибо!

Oscar Colmenares 05.06.2019 20:23

Другие вопросы по теме