ladybird - テントウムシのウェブブラウザ

(Ladybird web browser)

Created at: 2022-07-04 03:27:53
Language: C++

テントウムシ Web ブラウザ

Ladybird Web Browser は、SerenityOS LibWeb エンジンと Qt GUI を使用するブラウザです。

ビルドの前提条件

Qt6 開発パッケージと c++20 対応のコンパイラが必要です。Debian/Ubuntu で必要なパッケージには以下が含まれますが、これらに限定されません。

sudo apt install build-essential cmake libgl1-mesa-dev ninja-build qt6-base-dev qt6-tools-dev-tools

Arch Linux/Manjaro の場合:

sudo pacman -S base-devel cmake libgl ninja qt6-base qt6-tools qt6-wayland

C++ コンパイラの場合、c++20 をサポートするには、少なくとも gcc-11 または clang-13 が必要です。

Ubuntu 20.04 以降の場合、Qt6 Wayland パッケージが利用可能であることを確認します。

sudo apt install qt6-wayland

ビルド手順

github から複製した serenity ソース ディレクトリを使用した基本的なワークフロー:

cmake -GNinja -B Build
cmake --build Build
ninja -C Build run

既存のセレニティ チェックアウトを使用した高度なワークフロー。

以前に SERENITY_SOURCE_DIR を設定していない場合は、おそらくこれを行う前にビルド ディレクトリをブラストする必要があります。

cmake -GNinja -B Build -DSERENITY_SOURCE_DIR=/path/to/serenity
ninja -C Build run

gdb で自動的に実行するには:

ninja -C Build debug

忍者ルールなしで実行するには:

# or your existing serenity checkout /path/to/serenity
export SERENITY_SOURCE_DIR=${PWD}/Build/serenity
./Build/ladybird

実験的な Android ビルド手順

Qt Creator の準備

Android APK をビルドするには、次の追加の依存関係が必要/推奨されます。

  • Qt Creator 6.4.0 (開発ブランチ)
  • Android Studio 2021.2 (開発ブランチ)

Qt Creator 6.3.x LTS には、2022 年 7 月 16 日の時点で、NDK 24 を使用するために必要なQTBUG-104580への修正が含まれていないことに注意してください。

ビルド構成は、Android SDK の次のパッケージでテストされました。

  • Android プラットフォームとビルド ツール バージョン 33
  • API 33 別名の Android システム イメージ
    "system-images;android-33;google-apis;x86_64"
  • llvm-14 ベースのツールチェーン用の Android NDK 24.0.8215888

クロス コンパイル用にテントウムシをビルドするには、別のセレニティ チェックアウトをお勧めします。

例えば

cd ~/Repos
git clone https://github.com/SerenityOS/serenity

最初に LagomTools ビルドを作成します。

cmake -GNinja -S /path/to/serenity -B BuildTools -Dpackage=LagomTools -DCMAKE_INSTALL_PREFIX=tool-install
ninja -C BuildTools install

次に、こちら

Android Qt 6.4.0 Debug x86_64
の手順に従って、キットを使用する Qt Creator でビルド構成を作成します。

Android API 30 以上、および Android NDK 24 以上を取得していることを確認してください。最初の立ち上げでは、Android 13 用の API 33 SDK が使用されました。

このリンクに従って、Qt Creator で Android デバイスの設定をセットアップします。Qt Creator は、以前にダウンロードした Android NDK バージョン 24 が「新しすぎて」「サポートされていない」ため、気に入らない可能性があることに注意してください。Android ツール チェーン設定の表示

sdk_defintions.json
で説明されているようにファイルを編集することで、強制的にバージョンを気に入るようにすることができます。

その JSON ファイルの関連スニペットを以下に再掲します。「platforms;android-33」とインストールされている正確な NDK バージョンに満足していることを確認する必要があります。

        "sdk_essential_packages": {
            "default": ["platform-tools", "platforms;android-33", "cmdline-tools;latest"],
            "linux": [],
            "mac": [],
            "windows": ["extras;google;usb_driver"]
        }
    },
    "specific_qt_versions": [
        {
            "versions": ["default"],
            "sdk_essential_packages": ["build-tools;33.0.0", "ndk;24.0.8215888"],
            "ndk_path": "ndk/24.0.8215888"
        },

Android 用の Ladybird のビルド

次に、Qt Creator の [プロジェクト] タブでキットを選択し

Android Qt 6.4.0 Debug x86_64
、構成を編集する必要があるために CMake がうまくいかないことを確認します。

キットの CMake 構成の

Initial Configuration
タブで、次の初期値を編集します。

  • ANDROID_NATIVE_API_LEVEL: 23 --> 30
  • LagomTools_DIR: 新しいディレクトリ設定。
    /path/to/ladybird/tool-install/share/Lagom
    前に作成した LagomTools ビルド用に設定
  • SERENITY_SOURCE_DIR: 新しいパス設定、ローカルのセレニティ チェックアウトに設定

必ずボタンをクリックし、タブではなくタブを

Reconfigure With Initial Parameters
編集していることをトリプルチェックしてください。
Initial Configuration
Current Configuration

プロジェクトをビルドし、すべてが機能することを確認してください:)

Android APK の実行

ladybird アプリケーションを実行するには、まず、Qt Creator ウィンドウの左下にあるデバッグ設定が、LibArchive などの別の Lagom ターゲットではなく、ladybird をデバッグしようとしていることを確認してください。

[ツール] -> [オプション] -> [デバイス] -> [デバイス] 追加ボタンを使用して、テストする Android デバイスを作成します。

"system-images;android-33;google-apis;x86_64"
または同様のパッケージが Android SDK
sdkmanager
ツールでインストールされている場合、これは Android デバイスでのみ機能します。

Android Studio を開き、デバイス マネージャーで、作成した AVD を編集して、[詳細設定] の下の内部ストレージを更新します。少なくとも 1 GiB であることを確認してください。通常、デフォルトの 800 MiB は、ladybird をインストールするには小さすぎます。

Debug または Run 緑の矢印を押して、最善を尽くしてください!

運がよければ、アプリケーションが起動し、APK から必要なリソースを内部ストレージにインストールし、デフォルトの Web ページを開く必要があります。ホーム ボタンをクリックして serenityos.org をロードすると、動作するはずです。