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

llmtgqce  于 2024-01-04  发布在  Android
关注(0)|答案(4)|浏览(255)

无法解析符号“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中粘贴以下代码:

  1. package com<NameOfYourProject>;
  2. import android.app.Application;
  3. import android.content.Context;
  4. import android.content.res.Resources;
  5. import com.facebook.react.ReactPackage;
  6. import com.facebook.react.shell.MainPackageConfig;
  7. import com.facebook.react.shell.MainReactPackage;
  8. import java.util.Arrays;
  9. import java.util.ArrayList;
  10. public class PackageList {
  11. private Application application;
  12. private ReactNativeHost reactNativeHost;
  13. private MainPackageConfig mConfig;
  14. public PackageList(ReactNativeHost reactNativeHost) {
  15. this(reactNativeHost, null);
  16. }
  17. public PackageList(Application application) {
  18. this(application, null);
  19. }
  20. public PackageList(ReactNativeHost reactNativeHost, MainPackageConfig config) {
  21. this.reactNativeHost = reactNativeHost;
  22. mConfig = config;
  23. }
  24. public PackageList(Application application, MainPackageConfig config) {
  25. this.reactNativeHost = null;
  26. this.application = application;
  27. mConfig = config;
  28. }
  29. private ReactNativeHost getReactNativeHost() {
  30. return this.reactNativeHost;
  31. }
  32. private Resources getResources() {
  33. return this.getApplication().getResources();
  34. }
  35. private Application getApplication() {
  36. if (this.reactNativeHost == null) return this.application;
  37. return this.reactNativeHost.getApplication();
  38. }
  39. private Context getApplicationContext() {
  40. return this.getApplication().getApplicationContext();
  41. }
  42. public ArrayList<ReactPackage> getPackages() {
  43. return new ArrayList<>(Arrays.<ReactPackage>asList(
  44. new MainReactPackage(mConfig)
  45. ));
  46. }
  47. }

字符串

展开查看全部
hivapdat

hivapdat3#

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

  1. package packagelist;
  2. import android.app.Application;
  3. import android.content.Context;
  4. import android.content.res.Resources;
  5. import com.facebook.react.ReactNativeHost;
  6. import com.facebook.react.ReactPackage;
  7. import com.facebook.react.shell.MainPackageConfig;
  8. import com.facebook.react.shell.MainReactPackage;
  9. import java.util.Arrays;
  10. import java.util.ArrayList;
  11. public class PackageList {
  12. private Application application;
  13. private ReactNativeHost reactNativeHost;
  14. private MainPackageConfig mConfig;
  15. public PackageList(Application application) {
  16. this(application, null);
  17. }
  18. public PackageList(Application application, MainPackageConfig config) {
  19. this.application = application;
  20. this.reactNativeHost = null;
  21. this.mConfig = config;
  22. }
  23. private Resources getResources() {
  24. return this.application.getResources();
  25. }
  26. private Context getApplicationContext() {
  27. return this.application.getApplicationContext();
  28. }
  29. public ArrayList<ReactPackage> getPackages() {
  30. return new ArrayList<>(Arrays.asList(
  31. new MainReactPackage(mConfig)
  32. ));
  33. }
  34. }

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

展开查看全部
xiozqbni

xiozqbni4#

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

相关问题