Android错误:无法解析符号“PackageList”

llmtgqce  于 11个月前  发布在  Android
关注(0)|答案(4)|浏览(209)

无法解析符号“PackageList”
当我在我新生成的react-native项目中打开android文件夹时,我得到了这个错误。
对我来说,重新创建它的步骤是使expo项目:expo init my-app
然后弹出项目:世博弹出
然后我进入android文件夹,打开android\app\src\main\java\Android\Screen\MainActivity.java
然后我就得了窃听器
任何帮助都将不胜感激。Image of error in the android studio

zujrkrfu

zujrkrfu1#

您需要先执行gradle同步(和构建)-构建将失败,但为您创建PackageList(例如,在android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java
类似地,它创建一个BuildConfig.java

57hvy0tb

57hvy0tb2#

你可以通过创建一个新的包来解决这个问题(右键单击java文件夹并选择new -> package),给予任何名称。在包中创建一个名为PackageList的java类,在PackageList中粘贴以下代码:

package com<NameOfYourProject>;

import android.app.Application;
import android.content.Context;
import android.content.res.Resources;

import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainPackageConfig;
import com.facebook.react.shell.MainReactPackage;
import java.util.Arrays;
import java.util.ArrayList;


public class PackageList {
  private Application application;
  private ReactNativeHost reactNativeHost;
  private MainPackageConfig mConfig;

  public PackageList(ReactNativeHost reactNativeHost) {
    this(reactNativeHost, null);
  }

  public PackageList(Application application) {
    this(application, null);
  }

  public PackageList(ReactNativeHost reactNativeHost, MainPackageConfig config) {
    this.reactNativeHost = reactNativeHost;
    mConfig = config;
  }

  public PackageList(Application application, MainPackageConfig config) {
    this.reactNativeHost = null;
    this.application = application;
    mConfig = config;
  }

  private ReactNativeHost getReactNativeHost() {
    return this.reactNativeHost;
  }

  private Resources getResources() {
    return this.getApplication().getResources();
  }

  private Application getApplication() {
    if (this.reactNativeHost == null) return this.application;
    return this.reactNativeHost.getApplication();
  }

  private Context getApplicationContext() {
    return this.getApplication().getApplicationContext();
  }

  public ArrayList<ReactPackage> getPackages() {
    return new ArrayList<>(Arrays.<ReactPackage>asList(
      new MainReactPackage(mConfig)
    ));
  }
}

字符串

hivapdat

hivapdat3#

我完全同意上面的回答。
你可以通过创建一个新的包来解决这个问题(右键单击java文件夹并选择new -> package),给予任何名称。在包中创建一个名为PackageList的java类。
但在上面的代码中,在下面的行中,
return this.reactNativeHost.getApplication();我得到一些错误,例如
Blockquote错误:getApplication()在ReactNativeHost中具有受保护的访问权限return this.reactNativeHost.getApplication();
所以,为了解决这个问题,这是我修改后的PackageList类。

package packagelist;

import android.app.Application;
import android.content.Context;
import android.content.res.Resources;

import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainPackageConfig;
import com.facebook.react.shell.MainReactPackage;

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

public class PackageList {
    private Application application;
    private ReactNativeHost reactNativeHost;
    private MainPackageConfig mConfig;

    public PackageList(Application application) {
        this(application, null);
    }

    public PackageList(Application application, MainPackageConfig config) {
        this.application = application;
        this.reactNativeHost = null;
        this.mConfig = config;
    }

    private Resources getResources() {
        return this.application.getResources();
    }

    private Context getApplicationContext() {
        return this.application.getApplicationContext();
    }

    public ArrayList<ReactPackage> getPackages() {
        return new ArrayList<>(Arrays.asList(
                new MainReactPackage(mConfig)
        ));
    }
}

字符串
希望能帮到别人:)

xiozqbni

xiozqbni4#

我是在react-native v0.67.5上的@react-native-masked-view/masked-view的0.3.1版本上得到这个的。降级到v0.2.9是一个临时的解决方案。

相关问题