Gradle插件开发从入门到进阶
上一篇介绍了 Gradle的一些核心知识点,构建生命周期,Project以及Task等,本篇主要介绍如何开发一个Gradle插件
1、Gradle插件介绍我们在日常开发中经常看到
1apply plugin: 'com.android.application'
这其实就是引用了一个官方的插件。插件的本质实际上就是把独立的逻辑抽取封装,以便于更加高效的复用,主要分为以下2大类
...
Gradle学习之Transform
Transform API是 AGP1.5 引入的概念,在AGP2.0之后并入额Android编译系统依赖的gradle-api中,主要用于构建流程 Class->Dex阶段,让我们有机会修改字节码,从而给开发者AOP 插桩提供了一种有力手段,目前AGP7.0之后TransForm又有大的变化,本文主要介绍7.0之前的使用
概述Transform也是一种Gradle Task,主要在clas ...
Dart语法基础
Dart语法基础Dart语言简介在Dart官方网站上,对于Dart的描述如下:
Developers at Google and elsewhere use Dart to create high-quality, mission-critical apps for iOS, Android, and the web. With features aimed at client-side dev ...
Flutter中的消息传递
Flutter中消息传递前言在native开发中消息传递有多种手段,系统的广播,第三方的eventbus等,在flutter中会有哪些手段呢?本篇将会介绍
Flutter中的消息传递InheritedWidgetInheritedWidget是Flutter中非常重要的一个功能型Widget,它可以高效的将数据在Widget树中向下传递、共享,这在一些需要在Widget树中共享数据的场景中非常方便 ...
Flutter入门指南
前言本文是一个纯Flutter项目,主要通过实现网络请求新闻表展示以及跳转webview详情页,来初步感受了一下最近很火的Flutter
代码在 源码地址 部分代码参考 https://github.com/zhangjianli/flutter_news
安装环境可以参考 Flutter中文网 我使用的是AndroidStudio,这里需要注意的是下载下来的flutter sdk 在会自动下载 ...
注解-谈谈APT和JavaPoet的一些使用技巧和要点
简介APT+JavaPoet 是一把利剑,可以将很多模板代码在编译期间直接生成,即通过注解收集信息,然后将这些信息形成一些固定代码;特别是在写框架的时候,可以将一些“脏活、累活”通过这种方式处理掉,然后提供给用户一个干净的API接口使用,目前常用在
路由 如ARouter
ButterKnife、Dagger等
JsBridge (Hanlder或者Actioon)
权限如 MPermis ...
初探Spi
概述
什么是spi
SPI (Service Provider Interface)属于动态加载接口实现类的的一项技术,是JDK内置的一种服务提供发现机制,使用ServiceLoader去加载接口对应的实现,这样我们就不用关注实现类,ServiceLoader会告诉我们。官方文档描述为:为某个接口寻找服务的机制,类似IOC思想,将装配的控制权交给ServiceLoader。
解决问题
只提供 ...
Gradle在Android中的常用点
概述本篇主要介绍Gradle在Android开发中的一些常用的技巧
设置编译类型123456789101112131415android{ buildTypes { release { minifyEnabled true //打开混淆 proguardFiles getDefaultProguardFil ...
Gradle学习之核心要点
概述目前Android Studio中建立的工程都是基于gradle进行构建的,Gradle框架是使用Groovy语言实现的,关于Groovy语言的学习将不再赘述可以参考(精通Groovy),不光是在项目工程配置中通过配置gradle,比如extention、SourceSet;打包生成apk过程,目前很多技术领域开始使用Gradle的plugin 在transform阶段做些特殊操作,比如模块化 ...
ARouter解析之URL跳转
ARouter解析之URL跳转在ARouter Demo中,点击通过URL跳转,会通过WebView加载html
1234ARouter.getInstance() .build("/test/webview") .withString("url", "file:///android_asset/schame-test. ...










