Android Instant App 介绍

作者: Amour.wang


开篇说明

每年Google 的 IO 大会上都会有令人惊喜的黑科技发布,今年也不例外,今年谷歌针对android 发布了一个名为 instant app 的新技术。

关于这个新技术,网上大部分都是介绍这个功能的应用场景,比较少提及一些技术相关的问题。我这边主要针对广大程序猿,针对这个功能整理了一些应该是程序猿们比较想知道的一些问题。

Ps:下面所有的instant app 均简称 IAPP,这个不是官方缩写,本人为了书写方便自创的,请勿在其他地方使用,如有雷同,纯属抄袭-,-。

功能简介

安卓即时应用将改变传统的通过应用商店app store安装应用的方式,因为它允许 安卓 原生应用立即运行,无需安装,在运行时,会懒加载一些相关模块到本地设备上,这就允许用户能够立即和应用和应用内容进行交互,绕过必须访问应用商店进行安装这一关。

按照谷歌的官方说法就是,你不用再分发你的应用了,你只需要推广你的连接即可。点开连接就是打开了你的应用,瞬间高大上,但是在本人看来,理想总是美好的,因为在谷歌的开发文档里面有提到,开发IAPP,大小最大限制4MB, 因为本人也还没有详细研究这个实现原理,但是从该限制来看,就算是点开连接,下载一些必要的资源也是必须的,4MB的数据以国内运营商的移动流量价格,估计在外面都舍不得打开了。如下是官方文档中的一个示例图片


IAPP 相关问题(开发文档,google blog,twitter ,加上自己根据文档推测整理的一些相关问题)

1.      设备兼容性 

4.1+(with google play store - 国内用户死心吧),不得不佩服谷歌,还能把这个功能兼容到4.1,从这个地方来看,IAPP的实现应该也是大部分依靠google play。

2.      是否需要在原有项目上单独开发一个IAPP

不需要,在原来的工程上添加一些配置即可,这个是谷歌官方的说法,然而在不起眼的地方有一行小字:需要根据用户的项目结构来决定。What?在本人看来这个一般是有2个版本的节奏

3.      权限问题

使用的是同android 6.0 一样的权限模型

4.      如何发布IAPP

通过google play 发布,国内用户表示无视

5.      关键问题来了,如何开发IAPP

目前谷歌并没有公开发布IAPP 的接口,但是面向开发者提供了申请的机会,

鉴于时间和精力问题,本人没有申请,有需要的人可以尝试一下,如果获得机会顺便把文档共享一下,以下是申请链接

https://docs.google.com/forms/d/e/1FAIpQLScPQn78CBIxsI0RhIoGPMbuU6COhQ7H2eHr9t-S0CcgtILF4w/formResponse

6.      另外android studio2.2(dev channel)已经支持 IAPP 开发。

7.一些限制

Activity 必须相对独立

没有自定义的后台服务

不能有自定义的 content providers;

不能使用NDK

不能使用反射、内省。

8.      谷歌已经建立一套静态分析工具用于构建出所有包含java类依赖图和apk资源,用来分析现有的代码是否符合规范,使用这个工具可以分析哪些依赖必须拆分,哪些资源必须下载等。

9.     上传应用商店时,这2个应用将被分开来

10. IAPP 启动流程

用户点击link  >  上传设备信息(cpu,屏幕,等硬件信息)> 服务器找到对应的app >

下载所需数据 > google play服务运行 IAPP



原理猜想

从谷歌的各种文档,和各种博客中都提到,模块化现有的程序猜想,应该是由google play 提供类似“沙盒”的东西,(这个东西其实目前国内也有一些开源库有实现类似的功能,动态加载activity,插件化等,猜想谷歌实现的原理也是差不多)APP 再细分成一个个比较独立的模块,运行于沙盒上。权限问题配合android 23 之后的动态权限管理模型,堪称绝配。

 

总结

         科技巨头想的总是比我们多,配合最新系统上推出的附件通知功能,用户可以即时方便的打开应用,想象一下在车站前,收到一条通知,打开就可以买票,想想也是不错的。

 

引用查询资料出处

https://developer.android.com/topic/instant-apps/index.html

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,调试是一个非常重要的功能,它可以帮助开发者在应用程序运行时定位和解决问题。Android Studio提供了一些强大的调试功能,让开发者能够更方便地进行调试。 其中一个有用的调试功能是条件断点(Conditional Breakpoints)。通过设置条件断点,开发者可以在满足特定条件时暂停程序的执行,以便查看变量的值或者进行其他操作。这个功能在调试过程中非常有用,可以帮助开发者更快地定位问题并进行调试。\[1\] 另一个有用的调试功能是即时调试(Instant Run)。在以前的调试过程中,开发者需要点击调试模式,然后重新运行应用程序,这个过程可能会比较慢。而通过即时调试功能,开发者可以直接在运行的应用程序中设置断点并进行调试,而无需重新启动应用程序。这样可以大大提高调试的效率,特别是在与其他人共享应用程序时。\[2\] 此外,Android Studio还提供了观察窗口(Watch Window)功能,开发者可以在调试过程中查看变量的值,或者计算任何复杂的自定义表达式。这个功能可以帮助开发者更方便地观察和分析变量的值,以便更好地理解程序的执行过程。\[3\] 综上所述,Android Studio提供了多种强大的调试功能,包括条件断点、即时调试和观察窗口,这些功能可以帮助开发者更方便地进行应用程序的调试和问题定位。 #### 引用[.reference_title] - *1* *2* *3* [android studio 调试技巧(简直太好用)](https://blog.csdn.net/apuycat204023/article/details/101689031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值