Cliqz est le premier navigateur doté d'une recherche rapide anonyme intégrée et d'une technologie anti-pistage intelligente. Où que vous alliez sur Internet : Cliqz protège votre vie privée. Notre propre moteur de recherche, développé à Munich, vous permet d'économiser du temps et du volume de données : tapez simplement une requête, sélectionnez un site Web suggéré ou balayez vers la gauche pour plus de résultats. Et au fait : Cliqz est gratuit et open source.
Les fonctionnalités de Cliqz en un coup d'œil :
Exécutez ces commandes dans un shell :
$ > git clone [email protected]:cliqz-oss/browser-android.git
$ > cd browser-android
Une fois le référentiel extrait, récupérez les dépendances du bundle React-Native et construisez-le
$ > npm ci
$ > npm run dev-bundle
Vous pouvez compiler le projet à l'aide du wrapper gradle sur la ligne de commande :
$ > ./gradlew :app:assembleCliqzDebug
Veuillez noter que vous devez disposer du SDK Android. Sous Mac OSX, ce dernier peut être installé en utilisant Brew :
$ > brew install android
L'APK doit être signé pour être publié sur PlayStore, pour plus d'informations suivez ce lien. Pour signer l'application, vous avez besoin du magasin de clés CLIQZ, mais il ne l'est pas et ne doit pas être distribué avec le code source. Les mots de passe du magasin de clés doivent également rester secrets. Si vous disposez du magasin de clés et des mots de passe, vous pouvez configurer Gradle pour générer l'APK signé. Pour ce faire, créez un fichier gradle.properties et ajoutez (ou ajoutez-y s'il existe déjà) les lignes suivantes :
Browser . storeFile = < key_store_path >
Browser . storePassword = < key_store_password >
Browser . keyAlias = < key_alias >
Browser . keyPassword = < key_password >
Remplacez <param> par les arguments appropriés, vous pourrez alors compiler la version APK à l'aide des tâches de progression habituelles ( :app:assembleCliqzRelease
).
Le projet utilise React-Native pour certaines logiques et vues. Ce code est développé dans le référentiel principal du navigateur. Pour déboguer ces composants, procédez comme suit :
npm run dev-server
Désormais, si l'application est exécutée, le code JS sera chargé depuis le serveur de développement. De plus, les options de débogage React-Native seront disponibles sous l'option « React Native Debug » dans le menu des paramètres. S'il est ouvert dans le débogueur Chrome, l'objet app
(la racine de tous les modules du browser-core
sera exposé dans le contexte du travailleur Web.
Pour développer également du code à partir browser-core
, procédez comme suit :
./fern.js install
fern serve
signifie que le projet sera reconstruit si vous apportez des modifications au code : CLIQZ_OUTPUT_PATH=/path/to/android-browser/node_modules/browser-core/build/ ./fern.js serve configs/cliqz-android.js
Désormais, le serveur de développement verra et chargera les fichiers mis à jour issus de la version Fern lorsque vous rechargerez le code dans l'application.
Pour travailler avec le serveur React Live Reloading, l'option Developer Support doit être définie sur ReactInstanceManager dans /app/src/main/java/com/cliqz/jsengine/Engine.java
, en utilisant .setUseDeveloperSupport(true)
.
Ensuite, il faut demander à Android l'autorisation de superposition du système pour afficher le menu de débogage de React Native. Une façon de demander cette autorisation est d'utiliser adb
:
adb shell am start -a android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.cliqz.browser.debug
L'application détectera automatiquement si le serveur de développement React est en cours d'exécution et chargera le bundle à partir de celui-ci, sinon le bundle sera chargé à partir des ressources de l'application.