0

我正在react-native-moengage我的 react native 应用程序上安装 MoEngage sdk 和软件包,但即使按照官方网站上的指南,我也无法运行该应用程序

删除与 moengage 相关的所有内容会使应用程序再次运行,所以我不认为这是一个不同的包或错误的配置

我尝试清理 gradle,从 CLI 运行,从 android studio 运行,在物理设备中运行,更改 appcompat 的版本(破坏其他东西,所以我宁愿不再这样做)...... 无济于事。

当前运行:

  • 视窗 10 64 位

  • 反应原生 0.59.8。这不是一个新的应用程序,它从 0.55.4 开始,随着时间的推移迁移到 0.59.8。

  • Gradle 构建工具 3.3.0 和 gradle 版本 4.10.1-all

// 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
4

1 回答 1

0

缺少 MoEngage.java 的导入语句。以下是所需的导入声明

import com.moengage.core.MoEngage;

我建议您在 IDE(Android Studio)中启用自动导入,它将帮助您管理导入。

如果这不能解决您的问题,请告诉我。或者,您可以通过 support@moengage.com 给我们写信

于 2019-06-05T15:57:55.310 回答