Cliqz — первый браузер со встроенным анонимным быстрым поиском и интеллектуальной технологией защиты от отслеживания. Где бы вы ни находились в Интернете: Cliqz защищает вашу конфиденциальность. Наша собственная поисковая система, разработанная в Мюнхене, экономит ваше время и объем данных: просто введите запрос, выберите предлагаемый веб-сайт или проведите пальцем влево, чтобы получить дополнительные результаты. И кстати: 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, однако оно не является и не должно распространяться вместе с исходным кодом, а пароли хранилища ключей должны храниться в секрете. Если у вас есть хранилище ключей и пароли, вы можете настроить gradle для создания подписанного APK. Для этого создайте файл gradle.properties и добавьте (или добавьте к нему, если он уже существует) следующие строки:
Browser . storeFile = < key_store_path >
Browser . storePassword = < key_store_password >
Browser . keyAlias = < key_alias >
Browser . keyPassword = < key_password >
Замените <param> соответствующими аргументами, после чего вы сможете скомпилировать APK-файл выпуска, используя обычные задачи Gradle ( :app:assembleCliqzRelease
).
В проекте используется React-native для некоторой логики и представлений. Этот код разработан в репозитории ядра браузера. Чтобы отладить эти компоненты, выполните следующие действия:
npm run dev-server
Теперь, если приложение запущено, код JS будет загружен с сервера разработки. Кроме того, параметры отладки React Native будут доступны в разделе «React Native Debug» в меню настроек. Если открыть в отладчике Chrome, объект app
(корень для всех модулей из browser-core
будет доступен в контексте веб-работника.
Чтобы также разработать код из 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
Теперь сервер разработки будет видеть и загружать обновленные файлы, полученные из сборки папоротника, когда вы перезагрузите код в приложении.
Для работы с сервером интерактивной перезагрузки реакции необходимо установить параметр «Поддержка разработчика» в ReactInstanceManager в /app/src/main/java/com/cliqz/jsengine/Engine.java
, используя .setUseDeveloperSupport(true)
.
Затем у Android необходимо запросить разрешение на наложение системы, чтобы отобразить меню отладки React Native. Один из способов запросить это разрешение — использовать adb
:
adb shell am start -a android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.cliqz.browser.debug
Приложение автоматически определит, запущен ли сервер разработки реакции, и загрузит с него пакет, в противном случае пакет будет загружен из ресурсов приложения.