Android Studio - 运行 模拟器上的 Ionic App 时出现白屏

Android Studio - blank white screen when running Ionic App on an emulator

我正在开发 Ionic 应用程序。

在 iOS 模拟器(通过 Xcode)和 ionic serve 中 运行 都很好,但是当尝试 运行 它在 android 模拟器在 Android Studio 中,发生以下情况:

  1. 模拟器成功启动,android OS 显示并响应。
  2. 启动应用程序时,它以空白屏幕告终。

我读过很多这样的解决方案 ,但其中 none 对我有用。

我也试过重新安装 android studio,结果还是一样。 这就是我触发 android 工作室 IDE:

的方式

构建 Ionic 应用 ==> ionic build

运行 Android 工作室 ==> npx cap open android

下面是我的 MainActivity.java 文件:

package com.batsir.ben;

import android.os.Bundle;

import com.getcapacitor.BridgeActivity;
import com.getcapacitor.Plugin;

import java.util.ArrayList;

import ch.byrds.capacitor.contacts.Contacts;

public class MainActivity extends BridgeActivity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            
        this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{          
          add(Contacts.class);
        }});
     }
}

以下是我在 运行 从 Logcat:

运行应用程序时看到的一些错误
2022-04-05 20:40:19.181 1591-1591/? E/studio.deploy: MessagePipeWrapper: Cannot write (EOF)
2022-04-05 20:40:19.181 1591-1591/? E/studio.deploy: Unable to write magic number to pipe
2022-04-05 20:40:19.200 1591-1591/? E/studio.deploy: MessagePipeWrapper: Cannot read (EOF)
2022-04-05 20:40:19.201 1591-1591/? E/studio.deploy: MessagePipeWrapper: Unable to read magic number (received= '
2022-04-05 20:40:19.201 1591-1591/? E/studio.deploy: Protopipe: Unable to read() from pipe
2022-04-05 20:40:19.343 3306-3306/? E/studio.deploy: Could not remove dir '/data/data/com.batsir.ben/code_cache/.ll/': No such file or directory
2022-04-05 20:40:22.220 3322-3322/com.batsir.ben E/com.batsir.ben: Invalid ID 0x00000000.
2022-04-05 20:40:22.542 3322-3322/com.batsir.ben E/com.batsir.ben: Invalid ID 0x00000000.
2022-04-05 20:40:22.543 3322-3322/com.batsir.ben E/com.batsir.ben: Invalid ID 0x00000000.
2022-04-05 20:40:23.486 395-429/? E/HWComposer: getSupportedContentTypes: getSupportedContentTypes failed for display 4619827259835644672: Unsupported (8)
2022-04-05 20:40:24.526 3322-3387/com.batsir.ben E/Capacitor: Unable to open asset URL: http://localhost/%3C%=%20BASE_URL%20%%3Eassets/icon/favicon.png
2022-04-05 20:40:24.532 3322-3387/com.batsir.ben E/Capacitor: Unable to open asset URL: http://localhost/%3C%=%20BASE_URL%20%%3Eassets/icon/favicon.png
2022-04-05 20:40:24.541 3322-3387/com.batsir.ben E/Capacitor: Unable to open asset URL: http://localhost/%3C%=%20BASE_URL%20%%3Eassets/icon/favicon.png

请帮助我了解我缺少什么。

更新:

在使用 chrome 调试器 (chrome://inspect/#devices) 调试后:我看到我得到的唯一错误是:

Failed to load resource: the server responded with a status of 404 (OK) http://localhost/%3C%=%20BASE_URL%20%%3Eassets/icon/favicon.png

更新#2:

inedx.html:

中处理并修复此行后,我能够摆脱上述错误
<link rel="shortcut icon" type="image/png" href="assets/icon/favicon.png" />

所以现在,没有错误,但结果仍然相同 - 只有空白屏幕。

对于遇到相同问题的人。

原来我的问题是ionic build构建项目的路径(dist)和我的capacitor.config.json上的webDir路径(public) 不匹配。

同步后,应用 运行 正常