如何为Android Studio中的React Native App修复丢失的符号和包?

Jor*_*len 2 java android react-native

我的应用程序运行在iOS上,但是我想先进行Android测试,然后再尝试在Android Studio中进行构建,但遇到以下4个错误:

PATH/uncvrd/MainApplication.java:14: error: cannot find symbol public class MainApplication extends ExpoApplication {
                                     ^   symbol: class ExpoApplication PATH/uncvrd/MainActivity.java:11: error: package com.uncvrd.generated does not exist import com.uncvrd.generated.DetachBuildConstants;
                           ^ PATH/uncvrd/MainActivity.java:12: error: package com.uncvrd.experience does not exist import com.uncvrd.experience.DetachActivity;
                            ^ PATH/uncvrd/MainActivity.java:14: error: cannot find symbol public class MainActivity extends DetachActivity {
                                  ^   symbol: class DetachActivity 4 errors :app:compileDevDebugJavaWithJavac FAILED
Run Code Online (Sandbox Code Playgroud)

我来自CRNA,然后被驱逐到ExpoKit。这是我的MainApplication.java:

package com.uncvrd;

import com.facebook.react.ReactPackage;

import java.util.Arrays; import java.util.List;

// Needed for `react-native link` // import com.facebook.react.ReactApplication; import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage; import com.inprogress.reactnativeyoutube.ReactNativeYouTube; import com.oblador.vectoricons.VectorIconsPackage;

public class MainApplication extends ExpoApplication {

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

  // Needed for `react-native link`   public List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        // Add your own packages here!
        // TODO: add native modules!

        // Needed for `react-native link`
        // new MainReactPackage(),
            new ReactNativeOneSignalPackage(),
            new ReactNativeYouTube(),
            new VectorIconsPackage()
    );   }

  @Override   public String gcmSenderId() {
    return getString(R.string.gcm_defaultSenderId);   }

  @Override   public boolean shouldUseInternetKernel() {
    return BuildVariantConstants.USE_INTERNET_KERNEL;   } }
Run Code Online (Sandbox Code Playgroud)

还有我的MainActivity.java:

package com.uncvrd;

import android.os.Bundle;

import com.facebook.react.ReactPackage;

import java.util.ArrayList; import java.util.Arrays; import java.util.List;

import com.uncvrd.generated.DetachBuildConstants; import com.uncvrd.experience.DetachActivity;

public class MainActivity extends DetachActivity {

  @Override   public String publishedUrl() {
    return "exp://exp.host/@jlewallen18/UNCVRD";   }

  @Override   public String developmentUrl() {
    return DetachBuildConstants.DEVELOPMENT_URL;   }

  @Override   public List<String> sdkVersions() {
    return new ArrayList<>(Arrays.asList("26.0.0"));   }

  @Override   public List<ReactPackage> reactPackages() {
    return ((MainApplication) getApplication()).getPackages();   }

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

  @Override   public Bundle initialProps(Bundle expBundle) {
    // Add extra initialProps here
    return expBundle;   } }
Run Code Online (Sandbox Code Playgroud)

解决这些错误的最佳方法是什么?请让我知道是否需要更多信息

Gen*_*gen 6

我们的团队忽略了生成的文件git,但您需要它。如果将其添加到/android/app/src/main/java/host/exp/exponent/generation/DetachBuildConstants.java,这有帮助吗?

package host.exp.exponent.generated;

public class DetachBuildConstants {

  public static final String DEVELOPMENT_URL = "";

}
Run Code Online (Sandbox Code Playgroud)