1. 插件介绍
Flutter App Installer 是一个用于控制应用商店跳转和APK文件安装的 Flutter 插件。该插件提供了简洁的API,允许开发者在应用程序中轻松实现打开应用商店和安装APK文件的功能。
核心功能
- 应用商店跳转:支持跳转到 Android、iOS 和 HarmonyOS 平台的应用商店
- APK文件安装:支持直接安装本地APK文件
- 跨平台支持:统一的API接口,支持 Android、iOS 和 HarmonyOS 平台
- 简单易用:仅需几行代码即可实现应用商店跳转和APK安装功能
鸿蒙平台适配
本版本的 Flutter App Installer 是专门为 HarmonyOS 平台定制修改的版本,提供了完整的应用商店跳转和APK安装功能。所有核心 API 在 HarmonyOS 平台上都能正常工作,确保开发者能够获得一致的开发体验。
2. 包的引入
由于本版本的 Flutter App Installer 是自定义修改版本,需要通过 Git 形式引入。以下是在 Flutter 项目中引入该插件的步骤:
修改 pubspec.yaml
在项目的 pubspec.yaml 文件中的 dependencies 部分添加以下配置:
dependencies:
flutter:
sdk: flutter
# 添加 App Installer 鸿蒙版本依赖
app_installer_ohos:
git:
url: "https://gitcode.com/openharmony-sig/fluttertpc_app_installer.git"
path: "ohos"
执行依赖获取
在项目根目录下执行以下命令,获取插件依赖:
flutter pub get
3. 权限配置
在 HarmonyOS 平台上使用 App Installer 插件需要添加特定的权限。请按照以下步骤进行配置:
修改 module.json5
打开项目 entry/src/main/module.json5 文件,在 requestPermissions 部分添加以下权限配置:
"requestPermissions": [
{
"name": "ohos.permission.ENTERPRISE_INSTALL_BUNDLE"
}
]
该权限是安装应用所需的企业级安装权限,确保应用能够正常安装APK文件。
4. API 调用示例
Flutter App Installer 提供了简洁易用的 API,以下是常用功能的使用示例:
导入包
首先,在需要使用 App Installer 的 Dart 文件中导入包:
import 'package:app_installer_ohos/app_installer_ohos.dart';
跳转到应用商店
使用 goStore() 方法可以跳转到指定平台的应用商店:
// 跳转到应用商店
String androidAppId = 'com.example.android'; // Android 应用包名
String iOSAppId = '1234567890'; // iOS 应用 ID
String ohosAppId = 'com.example.ohos'; // HarmonyOS 应用 ID
AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId);
跳转到应用商店评论页面
可以通过设置 review 参数为 true 跳转到应用商店的评论页面:
// 跳转到应用商店评论页面
AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId, review: true);
安装APK文件
使用 installApk() 方法可以安装本地APK文件:
// 安装APK文件
String apkPath = '/sdcard/app/my_app.apk'; // APK文件路径
AppInstaller.installApk(apkPath);
完整示例
以下是一个完整的 Flutter Widget 示例,展示了如何使用 App Installer 插件:
import 'package:flutter/material.dart';
import 'package:app_installer_ohos/app_installer_ohos.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
/// 应用市场信息
String androidAppId = 'com.example.android';
String iOSAppId = '1234567890';
String ohosAppId = 'com.example.ohos';
TextEditingController controller = TextEditingController();
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('App Installer 示例应用'),
),
body: Center(
child: Column(
children: <Widget>[
SizedBox(height: 80),
TextButton.icon(
onPressed: () {
// 跳转到应用商店
AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId);
},
icon: Icon(Icons.store),
label: Text('跳转到应用商店'),
),
SizedBox(height: 40),
TextField(
controller: controller,
decoration: InputDecoration(
hintText: '请输入APK文件地址:sdcard/app/xxx.apk',
),
),
SizedBox(height: 40),
TextButton.icon(
onPressed: () {
// 安装APK文件
String apkPath = controller.text;
if (apkPath != null && apkPath != '') {
AppInstaller.installApk(apkPath);
}
},
icon: Icon(Icons.arrow_downward),
label: Text('安装APK文件'),
),
],
),
),
),
);
}
}
5. 约束与限制
兼容性
本版本的 Flutter App Installer 在以下环境中已测试通过:
- Flutter: 3.7.12-ohos-1.1.3; SDK: 5.0.0(12); IDE: DevEco Studio: 5.1.0.828; ROM: 5.1.0.130 SP8;
- Flutter: 3.22.1-ohos-1.0.3; SDK: 5.0.0(12); IDE: DevEco Studio: 5.1.0.828; ROM: 5.1.0.130 SP8;
API 支持情况
所有核心 API 在 HarmonyOS 平台上都能正常工作:
| API 方法 | 描述 | HarmonyOS 支持情况 |
|---|---|---|
goStore(androidAppId, iOSAppId, ohosAppId, {review = false}) | 跳转到应用商店 | ✅ |
installApk(apkPath) | 安装APK文件 | ✅ |
6. 总结
Flutter App Installer 是一个功能实用且易于使用的应用商店跳转和APK安装插件,为开发者提供了跨平台的应用分发能力。本定制版本特别为 HarmonyOS 平台进行了适配,确保在鸿蒙设备上能够正常工作。
使用场景
- 应用内更新:在应用内部提供更新功能,下载APK后直接安装
- 应用推广:通过跳转到应用商店的方式推广其他应用
- 应用评价引导:引导用户到应用商店对应用进行评价
- 企业应用分发:在企业内部应用中实现应用的快速安装和更新
优势
- 简单易用:仅需几行代码即可实现应用商店跳转和APK安装功能
- 跨平台兼容:同一套代码可在 Android、iOS 和 HarmonyOS 平台上运行
- 鸿蒙适配:完全支持 HarmonyOS 平台的特性和权限要求
- 灵活配置:支持自定义应用商店跳转和APK安装路径
通过使用 Flutter App Installer 插件,开发者可以轻松实现应用商店跳转和APK安装功能,提升用户体验,满足各种应用分发场景的需求。
1837

被折叠的 条评论
为什么被折叠?



