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

如何在Flutter中构建WebView应用的APK安装包?

在Flutter中构建WebView应用的APK安装包步骤

1. 前置环境准备

  • 确保已安装Flutter SDK,并完成Android开发环境配置(包括Android Studio、Android SDK、JDK)
  • 通过flutter create webview_app创建新的Flutter项目(或直接使用现有项目)

2. 添加WebView依赖

在项目根目录的pubspec.yaml文件中,添加webview_flutter依赖:

dependencies:
  flutter:
    sdk: flutter
  webview_flutter: ^4.4.0 # 可替换为最新稳定版

执行命令安装依赖:

flutter pub get

3. 编写WebView核心代码

替换lib/main.dart中的默认代码,实现基础WebView功能(以加载指定URL为例):

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter WebView',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const WebViewPage(),
    );
  }
}

class WebViewPage extends StatefulWidget {
  const WebViewPage({super.key});

  @override
  State<WebViewPage> createState() => _WebViewPageState();
}

class _WebViewPageState extends State<WebViewPage> {
  late final WebViewController controller;

  @override
  void initState() {
    super.initState();
    controller = WebViewController()
      ..loadRequest(Uri.parse('https://example.com')); // 替换为你要加载的目标URL
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('WebView App')),
      body: WebViewWidget(controller: controller),
    );
  }
}

4. Android项目配置

4.1 添加网络权限

打开android/app/src/main/AndroidManifest.xml,在<manifest>标签内添加网络权限:

<uses-permission android:name="android.permission.INTERNET" />

如果加载的是HTTP协议的URL,需在<application>标签内添加:

android:usesCleartextTraffic="true"

4.2 配置SDK版本(可选)

确保android/app/build.gradle中的minSdkVersion不低于20(webview_flutter的最低要求):

android {
    defaultConfig {
        minSdkVersion 20
    }
}

5. 构建APK安装包

5.1 构建调试版APK

执行以下命令生成调试用APK:

flutter build apk

生成的APK路径:build/app/outputs/flutter-apk/app-debug.apk

5.2 构建发布版APK

发布版需要签名,步骤如下:

  1. 使用keytool生成签名密钥(需配置JDK环境变量):
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
  1. 在项目根目录创建android/key.properties文件,填写密钥信息:
storePassword=你的密钥库密码
keyPassword=你的密钥密码
keyAlias=key
storeFile=../key.jks # 对应密钥文件路径
  1. 修改android/app/build.gradle,配置签名:
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}
  1. 执行命令生成发布版APK:
flutter build apk --release

生成的APK路径:build/app/outputs/flutter-apk/app-release.apk

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:15:44