このプロジェクトについて

AgentWebはAndroid WebViewに基づくライブラリであり、WebViewの使用を簡素化し、強力で柔軟な機能を提供することを目的としています。Android WebView開発における一般的な問題、例えばプログレスバー、エラーページ、ファイル選択などを解決し、カスタムミドルウェアをサポートします。 ## 主な特徴 - **使いやすさ**: `AgentWeb.with()` のチェーン呼び出しにより迅速に統合可能。 - **豊富な機能**: プログレスバー、エラーページ、ファイル chooser(オプション)、ダウンローダーなどが内蔵。 - **柔軟性**: ミドルウェア(MiddlewareWebClientBase / MiddlewareWebChromeBase)を重ねてカスタムロジックを追加可能。 - **軽量**: コアライブラリのサイズが小さく、必要なモジュールのみを選択して導入可能。 ## クイックスタート 1. JitPackリポジトリを追加する(Gradle 7+の場合、`settings.gradle` で設定)。 2. 依存関係を追加: ```groovy implementation 'com.github.Justson.AgentWeb:agentweb-core:5.1.7-androidx' // 必須 implementation 'com.github.Justson.AgentWeb:agentweb-filechooser:5.1.7-androidx' // オプション implementation 'com.github.Justson:Downloader:v5.0.6-androidx' // オプション ``` 3. Activity/Fragment内で初期化: ```java AgentWeb.with(this) .setAgentWebParent(container, new LinearLayout.LayoutParams(...)) .useDefaultIndicator() .createAgentWeb() .ready() .go("https://example.com"); ``` ## 注意事項 - WebViewに対して直接 `setWebViewClient()` / `setWebChromeClient()` を呼び出さないでください。AgentWebが提供するメソッドまたはミドルウェアを使用してください。 - `setOpenOtherPageWays(ASK)` は、ターゲットアプリがインストールされている場合にのみダイアログを表示します。 - http/https以外のスキームを処理する際、プライバシー検知がトリガーされる可能性があります。これを回避するには `DISALLOW` を設定してください。 - `AlertDialog` のサポートにはAppCompatテーマが必要です。 - v5.1.2以降、compileSdk/targetSdkが36にアップグレードされ、AGPも同時にアップグレードする必要があります。 - v5.1.3以降、`@JavascriptInterface` のkeepルールが組み込まれているため、再宣言は不要です。 ## 関連プロジェクト - [flying-pigeon](https://github.com/Justson/flying-pigeon): プロセス間通信(IPC)コンポーネント。 - [AgentWebX5](https://github.com/Justson/AgentWebX5): 腾讯X5コアへの適応。 - [CoolIndicator](https://github.com/Justson/CoolIndicator): WebViewプログレスバー。 - [Downloader](https://github.com/Justson/Downloader): 軽量ファイルダウンローダー。 ## ドキュメントとサポート - [Wiki](https://github.com/Justson/AgentWeb/wiki)(不完全) - Sampleサンプル(推奨) - [更新履歴](./releasenote.md) - フィードバック: [Issues](https://github.com/Justson/AgentWeb/issues) - QQグループ: 599471474 ## ライセンス Apache License 2.0。