�� wow Android辅助构建工具,机械性工作交给我来处理,把时间用在更有价值的工作上。
Android构建工具包,这个工具的主旨是使用脚本自动处理机械化的重复劳动,让开发者专注更有价值的工作。目前提供自动组件化控制与屏幕适配插件。
组件化构建Gradle插件插件包的名字叫: component,其中提供了两个组件化辅助插件,分别叫calces.appconfig和calces.modules。主要的功能是: 提供Gradle配置App依赖的组件、配置组件是否能单独运行、实现多个依赖不同模块的App同时构建等。
屏幕适配插件组件包的名字叫: screen,其中提供了calces.screen插件主要功能是: 根据设计稿与配置,自动生成smallestWidth适配文件,让你从此不需要再关注屏幕适配。
给你一个全自动的屏幕适配方案(基于SW方案)!—— 解放你和UI的双手
引入依赖库在Gradle 2.1及更高版本的插件构建脚本代码:在项目的build.gradle中
buildscript {
...
}
plugins {
id "calces.appconfig" version "3.3.0-alpha01"
}
在较旧版本的Gradle中或需要动态配置的情况下的插件构建脚本代码:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.tangpj.tools:component:3.3.0-alpha01"
}
}
apply plugin: "calces.appconfig"
在项目build.gradle配置AppConfig
appConfig {
debugEnable true
apps {
app1 {
mainActivity "com.xxx.MainActivity1"
modules ':modules1',
':modules2'
}
app2 {
mainActivity "com.xxx.MainActivity2"
modules ':modules1'
}
}
modules {
modules1 {
applicationId "com.xxxx.modules1"
mainActivity ".Modules1Activity"
isRunAlone true
}
modules2 {
applicationId "com.xxxx.modules2"
mainActivity ".Modules2Activity"
isRunAlone true
}
}
}
在modules(子模块)引入模块自动化构建插件 (注意:不需要手动配置com.android.library或com.android.application)
apply plugin: 'calces.modules'
引入依赖库在Gradle 2.1及更高版本的插件构建脚本代码:在项目的build.gradle中
buildscript {
...
}
plugins {
id "calces.screen" version "1.3.4-alpha01"
}
在较旧版本的Gradle中或需要动态配置的情况下的插件构建脚本代码:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.tangpj.tools:screen:1.3.4-alpha01"
}
}
apply plugin: "calces.screen"
在需要适配的组建上build.gradle配置Screen值
screen{
auto true
dimens{
designPx 375
smallesWidths 360,480
scale 3 //保留小数位,默认为2
scaleMode BigDecimal.ROUND_HALF_UP //小数保留的方式
}
}
auto 是用来确认是否需要自动生成sw文件的,会影响编译时间,如果values没有更新的话建议设置为false。除此之外,可以通过手动调用gradle任务来手动生成sw文件。
该开源项目包含了笔者关于Android进阶系列教程的示例代码,其中TodoCalces是该构建脚本的Demo。
AppConfig
debugEnable, 布尔值是否开个debug模式,只有当debugEnbale为true时,modules的isRunAlone才能生效。即modoules只能在debug模式中独立启动
apps, String列表app列表,控制当debug模式为false时的app数量与基础配置
modules, String列表组件列表,配置需要实现自动组件化控制的组件列表
App(apps里面的配置项)
Modules(modules里的配置项)
name, String类型与app中的name一致
isRunAlone, 布尔值该组件能否独立启动
applicationId, String类型独立启动时的applicationId
applicationName, String类型配置启动Application(对应manifest中的application name属性)
mainActivity, String类型独立启动的Activity
dimens( 自动化Sw屏幕适配方案配置 )
mipmap( 图片资源自动适配指定密度 )
主要目的是为了解耦,把组件化插件和屏幕适配插件分离。
组件化插件会依赖Android Build Plugin,所以从3.3.0版本开始,版本好会与Android Build Plugin保持一致,而alpha01则是calces.component自身的版本变化。
与1.2.52功能一样,唯一的区别是能单独依赖calces.screen包,不需要再依赖整个calces插件包
Copyright 2018 Tang.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
简介 1.什么是路由? 说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。 2.为什么需要路由? 在一些复杂的业务场景下(比如电商),灵活性比较强,很多功能都是运营人员动态配置的,比如下发一个活动页面,我们事先并不知道具体的目标页面,但如果事先做了约定,提前做好页面映射,便可以自由配置。 随着业务量的增长,客户端必然随之膨胀,开发人员的工作量越来越大,比如64K问题 协作开发问题。A
https://github.com/Tangpj/calces-gradle-plugin calces介绍: Android构建工具包,这个工具的主旨是使用脚本自动处理机械化的重复劳动,让开发者专注更有价值的工作。 目前提供自动组件化控制与屏幕适配插件。 功能介绍 自动组件化构建插件 根据Gradle配置,自动实现Android组件的构建模式(application or library) 可
简介 什么是路由? 说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。 为什么需要路由? 在一些复杂的业务场景下(比如电商),灵活性比较强,很多功能都是运营人员动态配置的,比如下发一个活动页面,我们事先并不知道具体的目标页面,但如果事先做了约定,提前做好页面映射,便可以自由配置。 随着业务量的增长,客户端必然随之膨胀,开发人员的工作量越来越大,比如64K问题 协作开发问题。App一般
1.模块化: 每个module都是一个library不能独立运行 2.组件化: 每个module都是一个组件(application)可以独立运行->模块化测试; 按照业务拆分->商城;用户;社区;资讯 3.模块化与组件化的区别; 模块化不能独立运行组件化可以独立运行 4.Calces配置组件化: 自动化构建module-.组合不同应用程序 5.Calces如何使用: 官网地址:https://g
前言;为什么我们要用Gradle管理组件呢? 先来看看Android组件化需要实现的目标 按照业务逻辑划分模块 项目模块能够单独启动测试 能够根据需求引入或删除某些业务模块 通过不同模块的组合,组成不同的App 对于第一点:需要根据技术架构和业务架构来划分模块,这里需要根据实际情况来考虑。我们需要优化的是第二、三、四点。 对于第二点:Android是通过应用com.android.applicat
介绍 Android构建工具包,这个工具的主旨是使用脚本自动处理机械化的重复劳动,让开发者专注更有价值的工作。 目前提供自动组件化控制与屏幕适配插件。 组件化构建Gradle插件 插件包的名字叫: component,其中提供了两个组件化辅助插件,分别叫calces.appconfig和calces.modules。 主要的功能是: 提供Gradle配置App依赖的组件、配置组件是否能单独运行、实
功能介绍 1.自动组件化构建插件 根据Gradle配置,自动实现Android组件的构建模式(application or library) 可配置多个依赖不同组件的App 自动要依赖需要的组件 自动配置组件独立运行 2.屏幕适配插件 根据Gradle配置,自动生成你需要的smallestWidth适配文件 自动压缩位图 快速开始 自动组件化构建插件 1.导入依赖库 在项目的build.gra
一. SVN SVN的简介 Subversion简称SVN,是目前使用广泛的集中式版本控制系统,能够在项目开发过程中很好的辅助我们进行团队协作。SVN可以为团队开发提供代码备份、协同修改、冲突显示、增量式版本控制、权限控制、分支操作等功能。 SVN的安装与使用:https://blog.csdn.net/sinat_37812785/article/details/80243207 二. Calc
Gradle 的核心为真实世界提供了很少的自动化. 所有的实用特性,类似编译java源码的能力, 是由插件提供的. 插件添加了新的任务(如:JavaCompile),域对象(如:SourceSet),公约(如:Java资源位置是src/main/java)以及来自其他插件延伸核心对象和对象。 在本章中,我们将讨论如何使用插件和关于插件的周边概念和术语。
Dexcount Gradle Plugin 是一款 Gradle 插件,用于计算每个版本的 APK 或 AAR 中的方法引用数量。 随着项目越来越大,Android 应用不得不面对 64k 方法数限制的问题,这个插件可帮助你监视 app 中的方法数增长情况,并避免通过消除方法或启用 multidex 来解决问题。 用法 在 app/build.gradle 中添加 buildscript {
DebLibs A Gradle plugin that creates Github issue and Slack message for outdated project dependencies so theycan easily be tracked and manually upgraded. This plugin builds on the Gradle Versions Plug
[Deprecated] 由于官方已经有相关的中文文档,译文不再维护。最新的内容请访问此链接,如果网页内容为英文版,请滚动到网页底部,并在右下角选择语言。 译者序 《Gradle Plugin User Guide》 官方地址 http://tools.android.com/tech-docs/new-build-system/user-guide 在线阅读译文 http://chaosleon
Gradle License Plugin This plugin provides a task to generate a HTML license report based on theconfiguration. (eg. licenseDebugReport for all debug dependencies in an Android project). Applying this
Mobbeel fat AAR Gradle plugin In Mobbeel we work with a complex hierarchy of modules that in turn must embed other dependencies in the resulting AAR. To do this we use this Gradle plugin that allows t