【9.5】群讨论未完待续。。。

【9.5】群讨论未完待续。。。

1. 在 Android Studio工程点击Run按钮,实际上做了什么操作呢?

Android Studio对IDEA扩展的代码放在ANDROID_STUDIO/plugins/android/lib/android.jar,解压并反编译就可以看到源码。Run 动作的源码在 https://github.com/JetBrains/android/blob/master/android/src/com/android/tools/idea/run/AndroidRunConfigurationBase.java

主要是三件事情:

1)检查项目和读取基本配置;

2)Gradle Build;

3)Apk Install & LaunchActivity;

其中2)就是gradle构建工具执行一系列task完成apk的构建

其中3)就是使用adb shell安装和启动Activity

idea的官方解释https://github.com/JetBrains/android/tree/master/android/src/com/android/tools/idea/run


2. 超级工程下,如何加快编译速度?

1)模块化——以aar(jar)的形式参与项目编译,因为aar(jar)里面的源码,资源文件都已经编译好了的,所以在整工程编译时可以大大节约.java to  .class, 和.class  to  .dex的工作时间;

2)单模块编译,全量合成:利用aapt工具,对单个模块(几个)编译生成temp.apk,最后和base.apk进行全量合并,原理类似于微信的tinker热修复;

3)jenkins打包,因为服务器设备的性能都是非常强悍的,我们自己的笔记本跟服务器设备不在一个量级,使用它来构建项目,也可以大大节约构建时间,

同学们可能听说过freeline,很可惜已经凉了。

可到github上看下它的现状https://github.com/alibaba/freeline/issues


3. 如何利用gradle自动发布release正式包到应用市场?

有些应用市场提供了发包接口https://dev.mi.com/console/doc/detail?pId=33 

我们可以开发gradle脚本,调用他的接口来自动发布。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 irista23 2020-09-07 11:43:30

没有来得及参加QQ群讨论的小伙伴们,还可以在此继续留言讨论哈~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师