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 APK をビルドするには、次の追加の依存関係が必要/推奨されます。
Qt Creator 6.3.x LTS には、2022 年 7 月 16 日の時点で、NDK 24 を使用するために必要なQTBUG-104580への修正が含まれていないことに注意してください。
ビルド構成は、Android SDK の次のパッケージでテストされました。
"system-images;android-33;google-apis;x86_64"
クロス コンパイル用にテントウムシをビルドするには、別のセレニティ チェックアウトをお勧めします。
例えば
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"
},
次に、Qt Creator の [プロジェクト] タブでキットを選択し
Android Qt 6.4.0 Debug x86_64、構成を編集する必要があるために CMake がうまくいかないことを確認します。
キットの CMake 構成の
Initial Configurationタブで、次の初期値を編集します。
/path/to/ladybird/tool-install/share/Lagom前に作成した LagomTools ビルド用に設定
必ずボタンをクリックし、タブではなくタブを
Reconfigure With Initial Parameters編集していることをトリプルチェックしてください。
Initial Configuration
Current Configuration
プロジェクトをビルドし、すべてが機能することを確認してください:)
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 をロードすると、動作するはずです。