Android Instant App
一、什么是Android Instant App
1、简单的理解就是google提出的小程序,大小限制在4M,依赖于google play的服务实现类似于打开网页url的方式来打开小程序。
2、优点:免安装,体积小,借助于Android Studio 3.0和gradle4.0可以在原有项目基础上调整为支持instant app和installed app的工程结构。
3、缺点:依赖google account和play的服务,功能受限比如需要运行时权限、目前不支持通知等。
二、环境相关
1、AndroidStudio 3.0
2、Instant SDK
3、API23+
4、Gradle4.0
三、工程结构
1、Instant app与Installed app工程结构关系如下图
(1)Instant app module:图中对应的就是即时应用,具体如下工程截图,注意该module只有一个build.gradle文件,
当选择运行instantapp配置之后,会在该模块目录下生成build目录,同时可以看到这个神奇的即时应用就是一个压缩包。
重点看看这个gradle文件:
apply plugin: 'com.android.instantapp'dependencies {implementation project(':feature')implementation project(':base')
}
通过这个com.android.instantapp插件,分别编译这个base和feature工程代码最后压缩成instantapp-debug.zip,通过解压这个文件可以验证一个module编译
成一个单独的apk,如下图
(2)App module:这个对应的就是installed app,即需要下载安装的应用,它倒是与原来的AS工程结构变化不大,主要是在build.gradle这个文件,具体代码如下:
apply plugin: 'com.android.application'android {compileSdkVersion 25buildToolsVersion "26.0.0"defaultConfig {applicationId "com.example.myfirstinstantapp"minSdkVersion 23targetSdkVersion 26versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {implementation project(':feature')implementation project(':base')
}
改动的地方与前面提到的类似,通过依赖的方式引入feature和base工程,也就是说是以工程库(aar)的方式打包到apk中的,可以验证这个,点击运行就会生成熟悉的apk,如下图
(3)base feature:由上图可以看出,其它的Feature module都是要依赖这个模块,因此其作用就比较明显了,是用于放置通用的代码和资源文件。
总之,编译instant app是以apk的方式参与打包;而编译installed app 则是以aar的方式参与打包。具体看看它的gradle文件
apply plugin: 'com.android.feature'android {compileSdkVersion 25buildToolsVersion "26.0.0"baseFeature truedefaultConfig {minSdkVersion 23targetSdkVersion 26versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {application project(':app')feature project(':feature')implementation 'com.android.support:appcompat-v7:25.+'api 'com.android.support:appcompat-v7:25.4.0'api 'com.android.support.constraint:constraint-layout:1.0.2'
}
说明:首先需要添加com.android.feature这个插件,其次是在依赖配置处,application project和feature project就是与app和feature两个模块建立起联系的关键配置,
或者说就是决定了base模块参与打包的方式。
注意:每一个feature module都需要在这个地方进行声明。
(4)最终看看instant app运行图:
(5)官网文档:https://developer.android.com/topic/instant-apps/overview.html
Android Instant App相关推荐
- 转: include android instant app support 是什么?
include android instant app support 是什么? 想象一下,你的一个朋友给你发送了一个关于小猫视频的链接,他们承诺你肯定会很喜欢,但是当你点击链接的时候,你才发现需要下 ...
- Android Instant App 介绍
开篇说明 每年Google 的 IO 大会上都会有令人惊喜的黑科技发布,今年也不例外,今年谷歌针对Android 发布了一个名为 instant app 的新技术. 关于这个新技术,网上大部分都是介绍 ...
- Android Instant App调研报告
概述 instant app 是谷歌推出的类似微信小程序(或者说小程序类似于instant app)的一项技术,用户无须安装应用,用完就走,同时兼备h5的便捷和原生应用的优质体验. 工作方式和应用场景 ...
- Instant App 常见问题官方指南 | Android 开发者 FAQ Vol.6
我们被大家的热情惊到了 -- 事实上我们发出上一篇 Instant App 的文章没几天就收到了一大堆问题.由于涉及到的类目太多,我们这里简单归纳了一下,方便大家查看.如果还有更多问题也请随时通过留言 ...
- 备受瞩目的Instant App即将到来
我们一向致力于让用户能以更加省力的方式发现并使用各种应用,而 Android Instant App 正是这一理念的集中体现--这是一种用户无需安装即可运行 Android 应用的全新方式. 正如上图 ...
- Tensorflow Lite Android Demo App
Tensorflow Lite Android Demo App 本文仅演示如何打通Tensorflow Lite官方demo. Building in Android Studio using T ...
- Android 必须知识 PWA Android Instant Apps
2019独角兽企业重金招聘Python工程师标准>>> 1.Progressive Web Apps (以下简称 PWA)是 Google 在 2015 年推出的项目,是一种致力于将 ...
- Android Instant Apps教程
In this tutorial, we'll be discussing what are Instant Apps in Android and how to implement them in ...
- Introducing Android Instant Apps - Google I-O 2016 翻译字幕
上周几乎没怎么学习,一直在忙字幕组的考核,干脆就把我翻译的字幕贴出来吧--这可真是最新的Android技术了. YouTube视频链接:https://www.youtube.com/watch?v= ...
最新文章
- SQL Serer闩锁 和 闩锁超时故障排除
- Android平台利用OpenCL框架实现并行开发初试
- python【蓝桥杯vip练习题库】ADV-306输出三个整数的最大数
- 京东java社招面试6_2020最新京东java面试题分享,京东社招
- 手动配置泛域名https (资源)
- AdGuard for Mac(专业的广告拦截工具)
- android Cursor用法
- 数据结构和算法——树结构(二叉树的创建、查找、遍历和删除)
- KB2999226安装提示 此更新不适用你的计算机
- Nginx设置404错误页面跳转
- war包的解压和打包为原来的war包的方法
- 基于MATLAB的温度报警,基于Matlab的小型温度检测系统设计
- 5.1.3 NoSQL数据库-Redis(键值key-value)-五大数据类型
- 汽车座椅测试能力全解析
- ninja: error: ‘xxx‘, needed by ‘xxx‘, missing and no known rule to make it
- An工具介绍之宽度工具、变形工具与套索工具
- php怎么开发微信网页,PHP实现微信网页授权开发的步骤
- ch1_系统启动_setup.S
- Kafka术语:AR、OSR、ISR、HW和LEO以及之间的关系
- C++基础-介绍·数据结构·排序·算法