安装包图标

Gravel

A de-googled, hardened fork of the Pebble companion app for de-googled phones
新版本 0.3.3
PebbleOS updates for Core watches now follow Core's public changelog, and Settings > About > Choose a PebbleOS build lists newer builds. Watchfaces and apps with internet access off run their code inside Gravel again where Gravel can block UDP. Where it cannot, such as on LineageOS, CalyxOS and Android 9 and older, a switch in Settings > Apps > Watch App Permissions, on by default, lets that code run with Android System WebView 152 or newer.
Gravel is a de-Googled, hardened fork of the Pebble mobile app by Core Devices, for Pebble and Core Devices watches on GrapheneOS, LineageOS and other phones without Google Play services or Firebase.

The watch features are here: pairing, notifications and replies, calendar, music, health, weather, watchfaces and apps, firmware updates, and voice dictation. What is gone: Play services, Firebase, telemetry, analytics and crash reporting. The battery analytics page depended on that telemetry and has no data here, and the Pebble Index 01 ring and Index AI features do not work for now.

Hardening:
- Code that watchapps run inside Gravel gets no internet or location access until you grant it, per app, so some watchfaces and apps need a grant before they work fully. On phones where Gravel's UDP filter can't be turned on, such as LineageOS and CalyxOS, watchapps without internet access still run their code by default if Android System WebView is up to date. Their real-time connections (the kind video calls use) then depend on a single layer instead of two. You can turn that code off under Watch App Permissions. With an older WebView, that code does not run
- Classic PebbleKit, which broadcasts watch data to apps on your phone, is off by default; turn it on under Watch App Permissions if a companion app stops receiving watch data
- The speech engine runs in an isolated Android process
- Other exported Android interfaces are authorization-gated or removed, and plain-HTTP traffic is blocked
- Core watch firmware comes from the public PebbleOS releases and is verified before install
- App store searches are sent when you tap search, not while you type, with the search provider's analytics switched off

Dictation runs on the phone with whisper.cpp, built from source; the speech model is an optional, integrity-pinned download. You can also send dictation to your own transcription server over https. Weather locations can also be entered by latitude and longitude.

Gravel contacts the Core Devices and Rebble web services, Algolia when you search the app store, GitHub for firmware, and the model host when you download a speech model, as well as an app store source or transcription server you add yourself and any host a watchapp you grant internet access connects to. Where Gravel's UDP filter can't be turned on and a watchapp without that grant still runs its code (see Hardening above), that code's real-time connections depend on one layer instead of two.

Background location is used so location-based watchapps and weather work while the app is closed.

Gravel is not affiliated with or endorsed by Core Devices. "Pebble" and "Core Devices" are trademarks of their respective owners; Gravel is an independent fork of their GPLv3 source code.

版本

尽管下面提供了 APK 安装包的下载选项,但你应该注意,以这种方式安装将不会收到更新通知,这是一种不太安全的下载方式。 我们建议你安装使用 F-Droid 客户端。

下载 F-Droid
  • 版本 0.3.3 (2477) 推荐 更新于 2026-09-28

    arm64-v8a armeabi-v7a

    该版本需要 Android 8.0 及以上版本。

    此安装包由 F-Droid 构建并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 在后台访问位置
      即使你并未使用此应用,此应用也可以随时访问位置信息。
    • 只有在前台运行时才能获取大致位置信息
      此应用可以在使用时从定位服务获取你的大致位置。必须打开你的设备的定位服务,应用才能获取位置。
    • 只能在前台获取精确的位置信息
      此应用可以在使用时从定位服务获取你的精确位置。必须打开你的设备的定位服务,应用才能获取位置。这可能会增加耗电量。
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • 与蓝牙设备配对
      允许此应用查看手机的蓝牙配置,并建立及接受与配对设备的连接。
    • 访问蓝牙设置
      允许此应用配置本地蓝牙手机,并允许其查找远程设备且与之配对。
    • 向附近的蓝牙设备广播
      允许该应用向附近的蓝牙设备广播
    • 连接到已配对的蓝牙设备
      允许该应用连接到已配对的蓝牙设备
    • 发现附近的蓝牙设备并与其配对
      允许该应用发现附近的蓝牙设备并与其配对
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“connectedDevice”类型的前台服务
      允许该应用使用“connectedDevice”类型的前台服务
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 管理正在进行的通话
      允许应用查看有关设备上正在进行的通话的详细信息并控制这些通话。
    • 显示通知
      允许该应用显示通知
    • 查询所有软件包
      允许应用查看所有已安装的软件包。
    • 读取日历活动和详情
      此应用可读取手机上存储的所有日历事件,并分享或保存日历数据。
    • 读取通话记录
      此应用可读取通话记录。
    • 读取联系人
      允许此应用读取手机上存储的联系人数据。此应用还将有权访问手机上已创建联系人的帐号,其中可能包括已安装的应用所创建的帐号。此权限允许此应用保存联系人数据,恶意应用可在你不知情的情况下分享联系人数据。
    • 读取手机状态和身份
      允许此应用访问设备的电话功能。此权限可让应用确定本机号码和设备 ID、是否正处于通话状态以及拨打的号码。
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • 管理手表的配套手表个人资料权限
      允许配套应用管理手表。
    • 在后台运行
      此应用可在后台运行。这会加快耗电速度。
    • 从后台启动前台服务
      允许配套应用从后台启动前台服务。
    • 在后台使用数据
      此应用可在后台使用数据。这会增加流量消耗。
    • 观察是否存在配套设备
      允许配套应用观察设备在附近或离得很远时是否存在配套设备。
    • android.permission.RUN_USER_INITIATED_JOBS
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • 添加或修改日历活动,并在所有者不知情的情况下向邀请对象发送电子邮件
      此应用可添加、移除或更改手机上的日历事件。此应用能够发送貌似来自日历所有者的消息,或不通知所有者便更改事件。
    • android.permission.health.WRITE_EXERCISE
    • android.permission.health.WRITE_EXERCISE_ROUTE
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_SLEEP
    • android.permission.health.WRITE_STEPS
    • com.anopticlabs.gravel.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • io.rebble.pebblekit2.permission.RECEIVE_DATA_FROM_WATCH

    下载 APK 10 MiB PGP 签名 | 构建日志

  • 新版本 0.3.2
    Fixes Gravel closing right after opening on LineageOS-based phones. For now, a watchface or watchapp with internet access off does not run its code inside Gravel; an update that brings this back is in progress.
  • 版本 0.3.2 (2456) - 更新于 2026-09-25

    arm64-v8a armeabi-v7a

    该版本需要 Android 8.0 及以上版本。

    此安装包由 F-Droid 构建并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 在后台访问位置
      即使你并未使用此应用,此应用也可以随时访问位置信息。
    • 只有在前台运行时才能获取大致位置信息
      此应用可以在使用时从定位服务获取你的大致位置。必须打开你的设备的定位服务,应用才能获取位置。
    • 只能在前台获取精确的位置信息
      此应用可以在使用时从定位服务获取你的精确位置。必须打开你的设备的定位服务,应用才能获取位置。这可能会增加耗电量。
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • 与蓝牙设备配对
      允许此应用查看手机的蓝牙配置,并建立及接受与配对设备的连接。
    • 访问蓝牙设置
      允许此应用配置本地蓝牙手机,并允许其查找远程设备且与之配对。
    • 向附近的蓝牙设备广播
      允许该应用向附近的蓝牙设备广播
    • 连接到已配对的蓝牙设备
      允许该应用连接到已配对的蓝牙设备
    • 发现附近的蓝牙设备并与其配对
      允许该应用发现附近的蓝牙设备并与其配对
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“connectedDevice”类型的前台服务
      允许该应用使用“connectedDevice”类型的前台服务
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 管理正在进行的通话
      允许应用查看有关设备上正在进行的通话的详细信息并控制这些通话。
    • 显示通知
      允许该应用显示通知
    • 查询所有软件包
      允许应用查看所有已安装的软件包。
    • 读取日历活动和详情
      此应用可读取手机上存储的所有日历事件,并分享或保存日历数据。
    • 读取通话记录
      此应用可读取通话记录。
    • 读取联系人
      允许此应用读取手机上存储的联系人数据。此应用还将有权访问手机上已创建联系人的帐号,其中可能包括已安装的应用所创建的帐号。此权限允许此应用保存联系人数据,恶意应用可在你不知情的情况下分享联系人数据。
    • 读取手机状态和身份
      允许此应用访问设备的电话功能。此权限可让应用确定本机号码和设备 ID、是否正处于通话状态以及拨打的号码。
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • 管理手表的配套手表个人资料权限
      允许配套应用管理手表。
    • 在后台运行
      此应用可在后台运行。这会加快耗电速度。
    • 从后台启动前台服务
      允许配套应用从后台启动前台服务。
    • 在后台使用数据
      此应用可在后台使用数据。这会增加流量消耗。
    • 观察是否存在配套设备
      允许配套应用观察设备在附近或离得很远时是否存在配套设备。
    • android.permission.RUN_USER_INITIATED_JOBS
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • 添加或修改日历活动,并在所有者不知情的情况下向邀请对象发送电子邮件
      此应用可添加、移除或更改手机上的日历事件。此应用能够发送貌似来自日历所有者的消息,或不通知所有者便更改事件。
    • android.permission.health.WRITE_EXERCISE
    • android.permission.health.WRITE_EXERCISE_ROUTE
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_SLEEP
    • android.permission.health.WRITE_STEPS
    • com.anopticlabs.gravel.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • io.rebble.pebblekit2.permission.RECEIVE_DATA_FROM_WATCH

    下载 APK 10 MiB PGP 签名 | 构建日志

  • 新版本 0.3.1
    Turning off internet access for a watchface or app now covers more than web requests: Gravel blocks UDP sockets in its own process, and an app with internet access off runs in a sandboxed page set to allow no connections. Web pages inside Gravel lose HTTP/3 and WebRTC over UDP as a result. Changing the setting restarts the app's session. On Android 17, plain-HTTP connections to services on the phone itself are denied again, like all other plain HTTP.
  • 版本 0.3.1 (2452) - 更新于 2026-09-22

    arm64-v8a armeabi-v7a

    该版本需要 Android 8.0 及以上版本。

    此安装包由 F-Droid 构建并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 在后台访问位置
      即使你并未使用此应用,此应用也可以随时访问位置信息。
    • 只有在前台运行时才能获取大致位置信息
      此应用可以在使用时从定位服务获取你的大致位置。必须打开你的设备的定位服务,应用才能获取位置。
    • 只能在前台获取精确的位置信息
      此应用可以在使用时从定位服务获取你的精确位置。必须打开你的设备的定位服务,应用才能获取位置。这可能会增加耗电量。
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • 与蓝牙设备配对
      允许此应用查看手机的蓝牙配置,并建立及接受与配对设备的连接。
    • 访问蓝牙设置
      允许此应用配置本地蓝牙手机,并允许其查找远程设备且与之配对。
    • 向附近的蓝牙设备广播
      允许该应用向附近的蓝牙设备广播
    • 连接到已配对的蓝牙设备
      允许该应用连接到已配对的蓝牙设备
    • 发现附近的蓝牙设备并与其配对
      允许该应用发现附近的蓝牙设备并与其配对
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“connectedDevice”类型的前台服务
      允许该应用使用“connectedDevice”类型的前台服务
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 管理正在进行的通话
      允许应用查看有关设备上正在进行的通话的详细信息并控制这些通话。
    • 显示通知
      允许该应用显示通知
    • 查询所有软件包
      允许应用查看所有已安装的软件包。
    • 读取日历活动和详情
      此应用可读取手机上存储的所有日历事件,并分享或保存日历数据。
    • 读取通话记录
      此应用可读取通话记录。
    • 读取联系人
      允许此应用读取手机上存储的联系人数据。此应用还将有权访问手机上已创建联系人的帐号,其中可能包括已安装的应用所创建的帐号。此权限允许此应用保存联系人数据,恶意应用可在你不知情的情况下分享联系人数据。
    • 读取手机状态和身份
      允许此应用访问设备的电话功能。此权限可让应用确定本机号码和设备 ID、是否正处于通话状态以及拨打的号码。
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • 管理手表的配套手表个人资料权限
      允许配套应用管理手表。
    • 在后台运行
      此应用可在后台运行。这会加快耗电速度。
    • 从后台启动前台服务
      允许配套应用从后台启动前台服务。
    • 在后台使用数据
      此应用可在后台使用数据。这会增加流量消耗。
    • 观察是否存在配套设备
      允许配套应用观察设备在附近或离得很远时是否存在配套设备。
    • android.permission.RUN_USER_INITIATED_JOBS
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • 添加或修改日历活动,并在所有者不知情的情况下向邀请对象发送电子邮件
      此应用可添加、移除或更改手机上的日历事件。此应用能够发送貌似来自日历所有者的消息,或不通知所有者便更改事件。
    • android.permission.health.WRITE_EXERCISE
    • android.permission.health.WRITE_EXERCISE_ROUTE
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_SLEEP
    • android.permission.health.WRITE_STEPS
    • com.anopticlabs.gravel.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • io.rebble.pebblekit2.permission.RECEIVE_DATA_FROM_WATCH

    下载 APK 10 MiB PGP 签名 | 构建日志