首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏codelang

    Compose 与 AGP、KGP 的关系

    在学习 Compose 的时候,有没有同学有一种困惑,Compose 到底是哪个 AGP 版本开始支持的,然后还会听到一些声音说,Compose 从 AGP 7.x 才开始支持,可当我使用 IntelliJ 这样就可以从 AGP 里面剥离出来,通过 classpath 直接引入来减少版本困扰,现在改个 Compose 版本需要涉及 KGP 和 AGP KGP 主要是 KCP 编译相关的东西,为啥又要将 android 解决 Compose 版本问题 虽然 Compose 会涉及到 KGP 和 AGP,但 AGP 还是很贴心的,提供了 extension 来设置 Compose 与 KCP 的版本,具体可以看 AGP 对 Compose 的影响仅仅只作用于 TaskManager 中是否有无添加 compose-compiler 依赖,如果 AGP 有,则 Compose 与 AGP 版本无关。 所以,大家如果想了解自己老项目是否能直接接入 Compose ,可以看下自己项目的 AGP 版本,然后看下这个版本的 TaskManager 源码,目前我查看的 AGP 4.1.0 版本是有的。

    1.5K50编辑于 2022-11-30
  • 来自专栏逮虾户

    我们升级适配完AGP 7.0 | 杂谈

    想用comopse有两个必选项agp7.0和kotlin版本1.5.31. Java11配置 因为apg7.0需要把所有的module编译环境切换到java11版本上,然而这个地方很容易出错。 所以在AGP 7.0中,提供了这部分新的api让我们简化对于task,输入输出这些参数的优化,让我们可以更专注到我们想要变更的东西上。 比如说APk,MANIFEST,MAPPING_FILE,BUNDLE,AAR或者其他的一些编译产物,当前agp给我们提供的也是相对来说比较少的一部分功能。 结尾 AGP对我们这个算是每年一更新了,会碰到一些新的有趣的api以及新的写法。另外每次新版本的AGP对于编译上都有变更和优化。 各位大佬其实有兴趣都可以尝试下对自己的应用进行一次小小的升级。

    2.2K30编辑于 2022-03-06
  • 来自专栏Android 开发者

    Gradle 与 AGP 构建 API: 如何编写插件

    欢迎阅读 MAD Skills 系列 之 Gradle 与 AGP 构建 API 的第二篇文章。 通过上篇文章《Gradle 与 AGP 构建 API: 配置您的构建文件》您已经了解 Gradle 的基础知识以及如何配置 Android Gradle Plugin。 该 API 的一些部分是最近才完成的,因此我将会在本文中使用 7.1 版 AGP (撰写本文时尚处于 Beta 版)。 Gradle Task 我会从一个全新的项目开始。 AGP 为其构建产物时的生命周期提供了扩展点。 在开始学习 Variant API 前,让我们先了解什么是 Variant。变体 (variant) 是您应用可以构建的不同版本。 在阶段结束时,AGP 将会锁定 DSL 对象,这样它们就无法再被更改。如果我再次运行构建,我会看到应用的 staging 版本被构建了。

    1.3K30编辑于 2022-03-24
  • 来自专栏Android安卓进阶

    Android安卓进阶技术分享之AGP工作原理

    2.AGP源码的打开方式 看 AGP 代码的时候,我一直纠结要不要下载 AGP 的源码,后来听同事大佬建议,直接使用了项目依赖的代码进行分析。 主要的原因有两点: 1. AGP 的源码太大了,有30g,并且版本已经很旧了。 2. 使用项目依赖的 AGP 代码很简单。 --- 3.代码分析 顺便说一下,AGP 的版本是 4.1.1。 --- 3.总结 这篇文章的目的是希望大家对 AGP 有一个轮廓,AGP 主要做了什么? 可以发现,AGP 中注册的大部分 Task 都是为了打包服务的,每个小的 Task 都是打包这个流水线的螺丝钉。 如果觉得本文不错,「点赞」是最好的肯定!

    1.3K20编辑于 2022-04-14
  • 来自专栏Android AGP8.1.0

    Android AGP8.1.0组件化初探

    theme: orangeAndroid AGP8.1.0组件化初探前言:前面两篇完成了从AGP4.2到 AGP8.1.0的升级,本文是由于有哥们留言说在AGP8.0中使用ARouter组件化有问题,于是趁休息时间尝试了一下 ,跳转和传值都是正常的,这里我也是直接从groovy转换成versions-catelog的依赖方式,由于之前升级过,所以这次很顺利,几分钟就完成了,直接上代码:1.添加统一依赖:[versions]agp version.ref = "arouter-compiler"}[plugins]com-android-library = { id = "com.android.library", version.ref = "agp " }com-android-application = { id = "com.android.application", version.ref = "agp" }org-jetbrains-kotlin-android @Autowired(name = "name"),name一定要和传递时一致c.传递数组时记得序列化,接收也是一样15.AGP8.1.0小技巧:15.1 在没有添加统一依赖时配置:implementation

    1.1K20编辑于 2023-09-02
  • 来自专栏逮虾户

    | 拥抱AGP7.0

    theme: smartblue 前文提要 之前就和大家介绍过AGP(Android Gradle Plugin) 7.0.0版本之后Transform 已经过期即将废弃的事情。 新的Extension AGP版本升级之后,应该是为了区分新旧版的Extension,所以在AppExtension的基础上,新增了一个AndroidComponentsExtension出来。

    86620编辑于 2022-03-06
  • 来自专栏Android 开发者

    Gradle 与 AGP 构建 API: 配置您的构建文件

    我们将会从 Gradle 的构建阶段开始,讨论如何使用 AGP (Android Gradle Plugin) 的配置选项自定义您的构建,并讨论如何使您的构建保持高效。 Gradle 会解析 build.gradle 文件中的 android DSL 块并创建 AGP DSL 对象,例如 ApplicationExtension 和 BuildType。 com.android.application' id 'org.jetbrains.kotlin.android' } Android Gradle Plugin 提供了它自己的 DSL,您可以用它配置 AGP 在本文中,您已经了解了 Gradle Task、构建阶段、配置 AGP 以及使用 DSL 配置构建的基础知识。 敬请关注下一篇文章,我们将带您了解如何在编写您自己的插件时,使用 AGP 的 Variant API 来扩展您的构建。 欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。

    2.3K20编辑于 2022-03-24
  • 来自专栏codelang

    AGP 支持正式版 Compose 的最低版本

    之前写了一篇 《Compose 与 AGP、KGP 的关系》的文章,其中我说了这么一段话: 其实,AGP 对 Compose 的影响仅仅只作用于 TaskManager 中是否有无添加 compose-compiler 依赖,如果 AGP 有,则 Compose 与 AGP 版本无关。 所以,大家如果想了解自己老项目是否能直接接入 Compose ,可以看下自己项目的 AGP 版本,然后看下这个版本的 TaskManager 源码,目前我查看的 AGP 4.1.0 版本是有的。 笔者的项目是 4.2.2 的 AGP ,已成功接入 Compose 1.1.0 版本并跑起来 这段话中描述 AGP 4.1.0 支持 Compose 有点用词不准确,我先说下结论 : AGP 4.1.0 是支持 Compose 的,但 Compose 的正式版本是从 AGP 4.2.0 开始支持的 在我发掘 AGP 4.1.0 版本的 TaskManager 类时发现: image.png 如果不仔细看的话真的发现不了问题

    95410编辑于 2022-11-30
  • 来自专栏Android 开发者

    Gradle 与 AGP 构建 API: 进一步完善您的插件!

    欢迎阅读 MAD Skills 系列 之 Gradle 与 AGP 构建 API 的第三篇文章。 在上一篇文章《Gradle 与 AGP 构建 API: 如何编写插件》中,您学习了如何编写您自己的插件,以及如何使用 Variants API。 如果您更喜欢通过视频了解此内容,请 点击此处 查看。 如果您不熟悉在 buildSrc 文件夹中创建插件的流程,可以回顾本系列的前两篇文章:《Gradle 与 AGP 构建 API: 配置您的构建文件》、《Gradle 与 AGP 构建 API: 如何编写插件 我希望在 AGP 决定创建哪个变体后、在各种对象的值被锁定而无法被修改之前执行这一新 Task。

    86020编辑于 2022-03-25
  • 来自专栏韩曙亮的移动开发专栏

    【错误记录】Android Studio 编译报错 ( The project is using an incompatible version (AGP 7.4.2) of the Androi )

    中创建的 Android Studio 工程 , 将该项目迁移到 Windows 中后 , 报如下错误 : The project is using an incompatible version (AGP Latest supported version is AGP 7.3.1 See Android Studio & AGP compatibility options. 二、解决方案 ---- 翻译下报错信息 : 您的项目正在使用一个不兼容的 Android Gradle 插件版本(AGP 7.4.2),最新支持的版本是 AGP 7.3.1。 AGP 是 Android Gradle Plugin 的简写 ; 上述报错的原因是 Android Studio 开发环境 与 Android Gradle 插件 版本不兼容导致的 ; 在 Android

    6.2K30编辑于 2023-04-24
  • 来自专栏Harmony学习之路

    HarmonyOS学习路之开发篇—Java UI框架(动画开发)

    ; import ohos.agp.animation.AnimatorProperty; import ohos.agp.animation.AnimatorScatter; import ohos.agp.animation.AnimatorValue ; import ohos.agp.animation.AnimatorProperty; import ohos.agp.animation.AnimatorValue; import ohos.agp.components.Component ; import ohos.agp.animation.AnimatorGroup; import ohos.agp.animation.AnimatorProperty; import ohos.agp.components.Component ; import ohos.agp.animation.AnimatorGroup; import ohos.agp.animation.AnimatorProperty; import ohos.agp.components.Component ; import ohos.agp.animation.AnimatorGroup; import ohos.agp.animation.AnimatorProperty; import ohos.agp.components.Component

    49340编辑于 2023-10-14
  • 来自专栏逮虾户

    多重图片优化Cli工具 | Android跨界py之旅

    iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af /8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af /8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af /8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af /8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/

    85820发布于 2021-02-23
  • 来自专栏Android群英传

    Android编译的小知识

    认识AGP 简介 AGP即Android Gradle Plugin,主要用于管理Android编译相关的Gradle插件集合,包括javac,kotlinc,aapt打包资源,D8/R8等都是在AGP AGP的版本是在根目录的build.gradle中引入的 如图所示AGP版本为7.2.2 AGP与Gradle的区别与关联 首先需要声明的是,AGP与Gradle不能直接划“等号”,二者不是一个维度的 AGP断点调试 当然,光知道源码在哪是不够的,想清楚知道AGP的每个执行细节,需要有能够调试的手段,所以AGP的调试手段就很有必要了。 基于此,我们对AGP的“替换/修改”的方案已实现。 有了这个实现依据,AGP再也不是Gradle的AGP,而是可以私人定制的,想对AGP的任意task流程做修改都是可以的! **缺点:**无法修改字节码,处理场景并不灵活 **“修改”AGP:**适用于解决AGP版本之间不兼容的问题 **优点:**可以达到直接修改“AGP”行为的方式 **缺点:**需要兼容每个版本,不够灵活

    1.8K30编辑于 2023-09-22
  • 来自专栏C++核心准则原文翻译

    自学鸿蒙应用开发(7)- Picker组件

    com.example.helloharmony.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button ; import ohos.agp.components.Component; import ohos.agp.components.Picker; import ohos.agp.components.TextField ; import ohos.agp.utils.LayoutAlignment; import ohos.agp.window.dialog.ToastDialog; public class ComponentAbilitySlice

    86520发布于 2020-12-31
  • 来自专栏兮动人的博客

    HarmonyOS实战——ToastDialog组件基本使用

    toastapplication.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button ; import ohos.agp.components.Component; import ohos.agp.utils.LayoutAlignment; import ohos.agp.window.dialog.ToastDialog ; import ohos.agp.components.LayoutScatter; import ohos.agp.components.Text; import ohos.agp.utils.LayoutAlignment ; import ohos.agp.window.dialog.ToastDialog; import ohos.app.Context; public class ToastUtils { ; import ohos.agp.components.Component; import ohos.agp.utils.LayoutAlignment; import ohos.agp.window.dialog.ToastDialog

    93730发布于 2021-09-13
  • 来自专栏Android 开发者

    Android Studio 和 Gradle 插件使用全新版本编号

    作者 / Jamal Eason, Product Manager 第一版 Android Studio Arctic Fox (2020.3.1) 以及 Android Gradle 插件 (AGP) 相反,应用构建流程变更和 APK/Bundle 则会受到您的项目 AGP 版本影响。 最后,在新的版本系统中,只要您的 AGP 版本保持在稳定版,您或您的团队就可以在应用项目中更加方便地 同时运行 稳定版和预览版 Android Studio。 Android Gradle 插件的新版本编号方案 在 AGP 7.0.0 中,我们采用了 语义化版本 的原则,并与 AGP 所需的 Gradle 版本保持一致。 您可以使用更新版本的 Android Studio 打开使用稳定版 AGP 的项目。 我们近期发表的 另一篇博文 详细介绍了 AGP 版本编号原则以及 AGP 7.0 这一全新主版本中的最新变化。

    1.9K40发布于 2020-12-15
  • 来自专栏韩曙亮的移动开发专栏

    【鸿蒙 HarmonyOS】Ability 中使用纯代码绘制布局及 UI 组件

    com.example.abilitycode.slice.MainAbilitySlice; import ohos.aafwk.ability.Ability; import ohos.aafwk.content.Intent; import ohos.agp.colors.RgbColor ; import ohos.agp.components.Component; import ohos.agp.components.DirectionalLayout; import ohos.agp.components.Text ; import ohos.agp.components.element.ShapeElement; import ohos.agp.utils.Color; import ohos.agp.utils.TextAlignment

    96200编辑于 2023-03-28
  • 来自专栏Harmony学习之路

    HarmonyOS学习路之开发基础——快速入门(创建另一个页面)

    添加一个Text,示例代码如下: import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.colors.RgbColor ; import ohos.agp.components.DependentLayout; import ohos.agp.components.DependentLayout.LayoutConfig ; import ohos.agp.components.Text; import ohos.agp.components.element.ShapeElement; import ohos.agp.utils.Color

    46110发布于 2021-11-10
  • 来自专栏极客起源

    图解鸿蒙Page Ability的启动类型(LaunchType)

    com.unitymarvel.demo.ResourceTable; import ohos.aafwk.ability.Ability; import ohos.aafwk.content.Intent; import ohos.agp.components.Button ; import ohos.agp.components.Component; import ohos.agp.components.Text; public class LaunchTypeAbility com.unitymarvel.demo.ResourceTable; import ohos.aafwk.ability.Ability; import ohos.aafwk.content.Intent; import ohos.agp.components.Button ; import ohos.agp.components.Component; import ohos.agp.components.Text; public class TestLaunchTypeAbility

    2.1K20发布于 2020-12-30
  • 来自专栏C++核心准则原文翻译

    自学鸿蒙应用开发(35)- 计算UI组件相对于客户区的坐标

    0,0,100,100)03-24 21:05:45.900 21064-21064/com.components.multithread W 00101/Gameboard: Class:class ohos.agp.components.DirectionalLayout 0,0,100,100)03-24 21:05:45.900 21064-21064/com.components.multithread W 00101/Gameboard: Class:class ohos.agp.components.RootContainerView 541,0,741,200)03-24 21:05:45.901 21064-21064/com.components.multithread W 00101/Gameboard: Class:class ohos.agp.components.DirectionalLayout 710,501,910,701)03-24 21:05:45.901 21064-21064/com.components.multithread W 00101/Gameboard: Class:class ohos.agp.components.DirectionalLayout 710,601,910,801)03-24 21:05:45.901 21064-21064/com.components.multithread W 00101/Gameboard: Class:class ohos.agp.components.DirectionalLayout

    63020发布于 2021-04-02
领券