手机照片/图库开源备份解决方案 Ente Photo 系列教程:构建手机客户端应用

Ente Photo是一套可以替代 Google Photos/iCloud Photos 的开源解决方案,那么手机客户端的重要性是很高的,前面两期介绍了后端服务的部署web客户端的部署,那么今天继续手机客户端的部署教程。

如果你是自用或小范围使用,且不在乎Ente的品牌属性,可以等等官方的应用,因为其实官方有考虑自部署服务的需求,例如对于Ente Auth应用,官方提供了一种方式:即在app主界面连续快速点击7次屏幕,即可弹出开发者模式,在该模式下用户可以自行输入自部署的后端服务地址。

20240325233519628-custom-server.SovW5NKW

但目前在Ente Photo的应用上还没看到类似的开启方式,但好消息是官方有在加紧对Ente Photo应用的修改,持续关注吧。

官方的Ente Photo已经支持自部署的服务器了,以下内容可以不用看啦!下载官方应用,改Endpoint就可以用了,方法也是在主界面连续敲击7次即可进入开发者模式

———————- 原内容 ———————-

那么如果你是想修改为自己的应用名称并进行运营,那么可以自行构建手机客户端的应用,因为官方不仅仅开源了服务端和web客户端,手机客户端(iOS和Android)和桌面客户端的源代码也都开源了出来,因此我们就可以根据需求,自行构建手机客户端应用。

iOS和Android的应用都是使用flutter进行开发的,flutter的优点是可以使用同一套代码,构建出多个不同平台的应用,用在这个项目上完全够用,毕竟从手机上获取图片,并不是什么底层的操作。OK,接下来我们来开始构建一套适合自己的自部署Ente Photo的应用,这里主要参考官方的教程:Mobile: Build and connect to self-hosted server

构建手机端应用

安装flutter SDK

构建flutter应用的前提是需要自己的电脑里有安装flutter的sdk,注意Ente开源库里要求的版本是v3.13.4,可以到这里下载到历史版本。安装部分的内容可以参考:安装 Flutter SDK

安装之后(其实就是解压缩),还要检查一下环境配置,可以执行 Flutter doctor进行检查。第一次运行时,会出现一则 Google Analytics 的通知,忽略即可。

flutter doctor

20240326135454381-WX20240326-135442

如上图所示,我的环境还缺少android和iOS的依赖,需要先解决好。这部分的内容可以参考:I am getting error “cmdline-tools component is missing” after installing Flutter and Android Studio… I added the Android SDK. How can I solve them?

获取源代码

克隆最新的源代码,并同步子仓库的更新

git clone https://github.com/ente-io/ente
cd ente/mobile
git submodule update --init --recursive

然后使用flutter命令更新库依赖

flutter pub get

20240326171053754-WX20240326-171034

构建应用

USB上接一个手机,开启开发者模式,打开USB调试,然后尝试构建应用。在构建过程中,有可能会出现无法下载文件的问题,可以尝试添加一个可用的代理服务器解决,或使用VPN。

# Android
flutter run --dart-define=endpoint=http://localhost:8080 --flavor independent --debug -t lib/main.dart
# iOS
flutter run --dart-define=endpoint=http://localhost:8080

注意⚠️,要将以上的--dart-define=endpoint=http://localhost:8080出现的http地址改为自部署的后端服务地址,否则构建出来的应用会因连接不到服务器而报错,无法使用。

上述是debug模式,用于开发时使用的。在调试没问题之后,就可以打包应用了。注意Android需要额外设置密钥对(setup your keystore),然后运行

flutter build apk --release --dart-define=endpoint=http://localhost:8080 --flavor independent

iOS用户就只需要运行这一条就够了

flutter build ios

这样打包出来的apk和ipa,可以直接在手机上安装,如果需要进一步在各大应用市场中发布应用,则需要申请开发者账号了。

最后

不过建议还是等等官方的应用吧,自己构建还是比较折腾的。下图是我自部署的图片备份服务,打算就家里人使用了。嘿嘿?

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 共2条
头像
说说你的看法!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像hi0
      • 晨曦的头像 - EVLIT钻石会员晨曦徽章-资深玩家 - EVLIT等级-LV6 - EVLIT作者0