Cliqz は、匿名のクイック検索とインテリジェントな追跡防止テクノロジーが組み込まれた最初のブラウザです。インターネット上のどこにいても: Cliqz はあなたのプライバシーを保護します。ミュンヘンで開発された当社独自の検索エンジンは、時間とデータ量を節約します。クエリを入力し、提案された Web サイトを選択するか、左にスワイプするだけでさらに結果が表示されます。ちなみに、Cliqz は無料のオープンソースです。
Cliqz の機能の概要:
シェルで次のコマンドを実行します。
$ > git clone [email protected]:cliqz-oss/browser-android.git
$ > cd browser-android
リポジトリがチェックアウトされたら、react-native バンドルの依存関係を取得してビルドします。
$ > npm ci
$ > npm run dev-bundle
コマンドラインで gradle ラッパーを使用してプロジェクトをコンパイルできます。
$ > ./gradlew :app:assembleCliqzDebug
Android SDK が必要であることに注意してください。 Mac OSX では、後者は brew を使用してインストールできます。
$ > brew install android
PlayStore で公開するには APK に署名する必要があります。詳細については、このリンクを参照してください。アプリに署名するには CLIQZ キーストアが必要ですが、キーストアは必要ありません。また、ソース コードと一緒に配布してはなりません。また、キーストアのパスワードも秘密にしておく必要があります。キーストアとパスワードがある場合は、署名付き APK を生成するように Gradle を構成できます。これを行うには、 gradle.propertiesファイルを作成し、次の行を追加します (すでに存在する場合は追加します)。
Browser . storeFile = < key_store_path >
Browser . storePassword = < key_store_password >
Browser . keyAlias = < key_alias >
Browser . keyPassword = < key_password >
<param> を適切な引数に置き換えると、通常の Gradle タスク ( :app:assembleCliqzRelease
) を使用してリリース APK をコンパイルできます。
このプロジェクトでは、一部のロジックとビューに反応ネイティブを使用します。このコードはブラウザコア リポジトリで開発されています。これらのコンポーネントをデバッグするには、次の手順に従います。
npm run dev-server
これで、アプリが実行されると、JS コードが開発サーバーからロードされます。さらに、設定メニューの「React Native Debug」オプションで、反応ネイティブ デバッグ オプションが利用可能になります。 Chrome デバッガーで開くと、 app
オブジェクト ( browser-core
のすべてのモジュールのルートが Web ワーカー コンテキストで公開されます)。
また、 browser-core
からコードを開発するには、次の手順に従います。
./fern.js install
fern serve
コマンドを使用すると、コードを変更した場合にプロジェクトが再構築されます。 CLIQZ_OUTPUT_PATH=/path/to/android-browser/node_modules/browser-core/build/ ./fern.js serve configs/cliqz-android.js
これで、アプリでコードをリロードすると、開発サーバーは fern ビルドから出力された更新されたファイルを参照してロードするようになります。
React Live Reloading サーバーを使用するには、 .setUseDeveloperSupport(true)
を使用して、 /app/src/main/java/com/cliqz/jsengine/Engine.java
の ReactInstanceManager で開発者サポート オプションを設定する必要があります。
次に、Android は React Native デバッグ メニューを表示するためにシステム オーバーレイの許可を求める必要があります。この権限を要求する 1 つの方法はadb
使用することです。
adb shell am start -a android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.cliqz.browser.debug
アプリケーションは、React dev サーバーが実行されているかどうかを自動的に検出し、そこからバンドルをロードします。それ以外の場合、バンドルはアプリのアセットからロードされます。