Cliqz是第一个内置匿名快速搜索和智能反跟踪技术的浏览器。无论您在互联网上的任何地方:Cliqz 都会保护您的隐私。我们在慕尼黑开发的自己的搜索引擎可以节省您的时间和数据量:只需键入查询、选择建议的网站或向左滑动即可获取更多结果。顺便说一句:Cliqz 是免费且开源的。
Cliqz 功能一览:
在 shell 中运行这些命令:
$ > 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
APK 必须经过签名才能在 PlayStore 上发布,有关更多信息,请点击此链接。要签署应用程序,您需要 CLIQZ 密钥库,但它不是也不能与源代码一起分发,而且密钥库密码也必须保密。如果您有密钥库和密码,则可以配置 gradle 来生成签名的 APK。为此,请创建一个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。
该项目使用react-native来实现一些逻辑和视图。该代码是在浏览器核心存储库中开发的。要调试这些组件,请按照下列步骤操作:
npm run dev-server
现在,如果应用程序运行,JS 代码将从开发服务器加载。此外,在设置菜单中的“React Native Debug”选项下将提供react-native 调试选项。如果在 Chrome 调试器中打开, app
对象( browser-core
中所有模块的根)将在 web-worker 上下文中公开。
要从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 实时重新加载服务器,必须使用.setUseDeveloperSupport(true)
在/app/src/main/java/com/cliqz/jsengine/Engine.java
中的 ReactInstanceManager 上设置开发人员支持选项。
然后 Android 必须请求系统覆盖权限才能显示 React Native 调试菜单。请求此权限的一种方法是使用adb
:
adb shell am start -a android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.cliqz.browser.debug
应用程序将自动检测React dev服务器是否正在运行,并从中加载bundle,否则将从应用程序资产中加载bundle。