You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter开发安卓应用未上架应用商店,如何实现应用更新?

针对少量用户的Flutter安卓应用更新方案(无需上架Play Store)

自建简易更新服务

  • 核心思路:搭建一个简单的静态服务存放最新APK和版本配置文件(如version.json),在Flutter应用中加入版本检查逻辑,实现主动更新提示。
  • 具体实现:
    1. 准备静态服务器:可以用本地电脑临时搭建(比如执行python -m http.server 8000),或者用免费静态存储服务托管文件。
    2. 上传文件:将最新APK和version.json(包含版本号、下载地址等信息)上传到服务器。
    3. 应用内检查逻辑:用http请求版本配置,对比本地应用版本(通过package_info_plus获取),若有新版本则弹窗提示用户下载APK,并引导开启「安装未知应用」权限完成更新。
    4. 代码示例:
      import 'package:http/http.dart' as http;
      import 'package:package_info_plus/package_info_plus.dart';
      import 'package:url_launcher/url_launcher.dart';
      import 'dart:convert';
      
      Future<void> checkAppUpdate(BuildContext context) async {
        try {
          final response = await http.get(Uri.parse('http://你的服务器地址/version.json'));
          if (response.statusCode != 200) return;
          
          final versionData = jsonDecode(response.body);
          final latestVersion = versionData['version'];
          final apkUrl = versionData['apk_url'];
          
          final packageInfo = await PackageInfo.fromPackageInfo();
          final currentVersion = packageInfo.version;
          
          if (latestVersion.compareTo(currentVersion) > 0) {
            showDialog(
              context: context,
              builder: (_) => AlertDialog(
                title: const Text('发现新版本'),
                content: const Text('请下载安装最新版本'),
                actions: [
                  TextButton(
                    onPressed: () async {
                      if (await canLaunchUrl(Uri.parse(apkUrl))) {
                        await launchUrl(Uri.parse(apkUrl));
                      }
                    },
                    child: const Text('立即下载'),
                  ),
                ],
              ),
            );
          }
        } catch (e) {
          // 处理网络请求异常
        }
      }
      
  • 优缺点:完全自主可控,成本极低;但需自行维护服务器,处理不同设备的下载、安装兼容性问题。

内测分发工具(类TestFlight)

  • Firebase App Distribution:谷歌官方内测分发工具,支持安卓/iOS。上传APK后添加测试用户邮箱,用户通过邀请链接安装应用,新版本发布后会自动推送更新通知,无需上架应用商店,用户数量限制足够覆盖少量用户场景。
  • 蒲公英/Fir.im:国内常用内测分发平台,上传APK后生成下载链接或二维码,用户扫码即可安装。后台可配置版本更新信息,应用内加入检查逻辑就能触发更新提示,操作简单易上手。
  • 这类工具无需自行搭建服务,自带更新推送、用户管理功能,适合个人或小团队快速实现内测更新。

局域网内部分发(适合极小范围用户)

  • 如果用户都在同一局域网内,可直接通过局域网分享APK:
    1. 在电脑上用Python启动临时HTTP服务:python -m http.server 8000,将APK放在当前目录。
    2. 告知用户在浏览器输入你的电脑IP+端口(如http://192.168.1.100:8000/app.apk)下载安装。
    3. 更新时只需替换服务器上的APK,通知用户重新下载即可。
  • 优点是无需外网,操作简单;缺点是用户必须在同一局域网,更新需手动通知。

内容的提问来源于stack exchange,提问作者aoiTenshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:05:21