Cliqz ist der erste Browser mit integrierter anonymer Schnellsuche und intelligenter Anti-Tracking-Technologie. Wo auch immer Sie im Internet unterwegs sind: Cliqz schützt Ihre Privatsphäre. Unsere eigene, in München entwickelte Suchmaschine spart Ihnen Zeit und Datenvolumen: Geben Sie einfach eine Suchanfrage ein, wählen Sie eine vorgeschlagene Website aus oder wischen Sie nach links für weitere Ergebnisse. Und übrigens: Cliqz ist kostenlos und Open Source.
Cliqz-Funktionen im Überblick:
Führen Sie diese Befehle in einer Shell aus:
$ > git clone [email protected]:cliqz-oss/browser-android.git
$ > cd browser-android
Sobald das Repository ausgecheckt ist, rufen Sie die Abhängigkeiten für das React-Native-Bundle ab und erstellen Sie es
$ > npm ci
$ > npm run dev-bundle
Sie können das Projekt mit dem Gradle-Wrapper in der Befehlszeile kompilieren:
$ > ./gradlew :app:assembleCliqzDebug
Bitte beachten Sie, dass Sie über das Android SDK verfügen müssen. Unter Mac OSX kann Letzteres mit brew installiert werden:
$ > brew install android
Das APK muss signiert sein, um im PlayStore veröffentlicht zu werden. Weitere Informationen finden Sie unter diesem Link. Zum Signieren der App benötigen Sie den CLIQZ-Keystore, dieser wird jedoch nicht mit dem Quellcode weitergegeben und darf auch nicht weitergegeben werden, außerdem müssen Keystore-Passwörter geheim gehalten werden. Wenn Sie über den Keystore und die Passwörter verfügen, können Sie Gradle so konfigurieren, dass das signierte APK generiert wird. Erstellen Sie dazu eine gradle.properties -Datei und fügen Sie die folgenden Zeilen hinzu (oder hängen Sie sie an, falls bereits vorhanden):
Browser . storeFile = < key_store_path >
Browser . storePassword = < key_store_password >
Browser . keyAlias = < key_alias >
Browser . keyPassword = < key_password >
Ersetzen Sie <param> durch die entsprechenden Argumente, dann können Sie das Release-APK mit den üblichen Gradle-Aufgaben kompilieren ( :app:assembleCliqzRelease
).
Das Projekt verwendet React-Native für einige Logik und Ansichten. Dieser Code wird im Browser-Core-Repository entwickelt. Um diese Komponenten zu debuggen, führen Sie die folgenden Schritte aus:
npm run dev-server
Wenn nun die App ausgeführt wird, wird der JS-Code vom Entwicklungsserver geladen. Darüber hinaus stehen unter der Option „React Native Debug“ im Einstellungsmenü Optionen für das reaktionsnative Debuggen zur Verfügung. Wenn es im Chrome-Debugger geöffnet wird, wird das app
Objekt (das Stammverzeichnis für alle Module von browser-core
im Web-Worker-Kontext verfügbar gemacht.
Um auch Code aus browser-core
zu entwickeln, gehen Sie folgendermaßen vor:
./fern.js install
fern serve
, bedeutet dies, dass das Projekt neu erstellt wird, wenn Sie Codeänderungen vornehmen: CLIQZ_OUTPUT_PATH=/path/to/android-browser/node_modules/browser-core/build/ ./fern.js serve configs/cliqz-android.js
Jetzt sieht und lädt der Entwicklungsserver die aktualisierten Dateien, die vom Farn-Build ausgegeben werden, wenn Sie den Code in der App neu laden.
Um mit dem React Live Reloading-Server zu arbeiten, muss die Option „Developer Support“ für ReactInstanceManager in /app/src/main/java/com/cliqz/jsengine/Engine.java
mithilfe von .setUseDeveloperSupport(true)
festgelegt werden.
Dann muss Android um die System-Overlay-Berechtigung gebeten werden, um das React Native-Debug-Menü anzuzeigen. Eine Möglichkeit, diese Erlaubnis anzufordern, ist mit adb
:
adb shell am start -a android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.cliqz.browser.debug
Die Anwendung erkennt automatisch, ob der React-Dev-Server ausgeführt wird, und lädt das Bundle von dort, andernfalls wird das Bundle von den App-Assets geladen.