• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Android in Flutter 1

武飞扬头像
Harvenx
帮助1

Android in Flutter 1(Android 项目基础)

本系列主要说的是,从Android 角度看Flutter
因为Flutter 属于混合开发,开发人员更多的会是从Web,iOS,Android 等各个不同领域入手开发。往往面临配置不熟悉等问题。
(本篇中使用的
IDE 是:Android Studio 2021.2.1 patch 1
FlutterVersion:3.0 )

Android 项目基本结构

项目目录

在Flutter 项目中能看到android 目录
学新通

  • .gradle -自动化打包的基础的文件目录(隐藏目录),由IDE根据配置自动下载生产
  • .idea -Android Studio 的IDE Project 级的配置文件目录(隐藏目录),有IDE自动生成
  • app -Android 代码所在目录
  • gradle -自动化打包的配置,其中配置了gradle 的版本,目录等信息
  • build.gradle -项目级的gradle 文件
  • gradle.properties -gradle 打包过程的基本配置文件
  • gradlew -打包脚本
  • local.properties -一些本地配置文件(android 中非必须),在Flutter 中由Flutter pub 根据 yaml 和 Android Studio IDE的配置生成,其中包括APP 版本号,FlutterSDK 目录,Android SDK 目录等信息

实际开发中,我们更多的会关注app 目录 和build.gradle 目录

如果在新构建的项目中,出现build 失败,如法运行,一般会优先关注gradle 目录,修改gradle-wrapper.properties 的版本,已经检查IDE是否成功下载文件(生成.gradle 目录)

MainActivity

Flutter 项目在Android 中的运行容器

Mainfest

Android 中的描述文件,总结来说,就是描述了你这个APP 有什么,用了什么,和APP 外部交互需要什么。
详细内容可以看这里:应用清单概览
一般APP 中需要关注以下几个标签
<application />
学新通
<activity />
学新通
学新通

<provider />
学新通
provider 描述的是一些APP交互用的信息,在Android 10 以后,一般APP 不能直接读取外部存储(app 私有目录以外的文件),如果需要读取,需要经过provider 声明,并且在meta-data 中描述 android.support.FILE_PROVIDER_PATHS

<uses-permission />
应用的权限声明
权限列表

<queries/>
应用可以向外调用的协议

BuildGradle

项目级别的BuildGradle

路径是:android/build.gradle
学新通
项目级别的build.gradle
中,配置的是整个项目的信息
学新通
学新通
在项目中的第三方库的下载maven 地址,在这里配置,build 会从上往下检索。

Module 级别的build.gradle

路径是 android/app/build.gradle
我们需要关注几个点
1.学新通
这里是加载这个gradle 中会使用的插件,类似 flutter 中的import
其中
apply plugin: ‘com.android.application’ 表示这个Module是一个主Module
apply plugin: ‘com.android.library’ 表示这个Module 是一个library
在新版本的Gradle中,apply plugin 会有这样的写法
plugins {
id ‘com.android.library’
}

学新通
这里配置整个module 的信息,其中versionCode 可以看到是读取flutterVersionCode 获取的,(如果这个module 是application)
可以看到是从这里加载的信息
学新通

## 多变体

APK 和 AAB 的区别

APK 是原始的安装包
AAB 用于上传到Google Play (华为商城也开始推行这个包)
相比APK AAB ,在市场分发的时候,会根据当前手机设置的语言,屏幕分辨率,CPU 架构去分发不同的资源包。
能显著减少安装体积

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgafihh
系列文章
更多 icon
同类精品
更多 icon
继续加载