首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android Gradle 插件】Extension 扩展类型 ( Module 引入插件类型 | application 插件 | library 插件 | Variants 变体列表 )

    文章目录 一、Module 引入插件类型 1、com.android.application 插件 2、com.android.library 插件 二、Extension 扩展类型 三、applicationVariants...& Tablet " 类型的 Module ; 在 build.gradle 中配置引入的插件 : plugins { id 'com.android.application' }...2、com.android.library 插件 引入 com.android.library 插件 , 也就是说该 Module 是依赖库 ; 创建应用时 , 选择是 " Android Library..." 类型的 Module ; 在 build.gradle 中配置引入的插件 : plugins { id 'com.android.library' } 二、Extension 扩展类型...由于集合是在评估之后构建的,因此应该与Gradle的all iterator一起使用,以处理未来的项。 libraryVariants 配置 : 库变体的列表。

    76830

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ② ( 组件化基本实现 | Project 相关目录 | 定义组件切换标志位 | 切换插件导入 | 切换设置应用 ID )

    文章目录 一、Project 中可获取的目录 二、定义模块化与组件化切换标志位 三、切换插件导入 四、切换设置应用 ID 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle...---- 在模块下的 build.gradle 构建脚本 中 , 默认的 " Phone & Tablet " 类型的 Module 模块 的插件导入配置为 : plugins { id 'com.android.application...' id 'kotlin-android' } 引入组件化后 , 在 模块化模式 中 , 需要导入 com.android.library 插件 , 模块作为 依赖库 使用 , 是 " Android...插件 */ apply plugin: 'com.android.library' } 四、切换设置应用 ID ---- 通过在 common.gradle 构建脚本 中 对 Project...com.android.library 插件 */ apply plugin: 'com.android.library' } /** * 导入 Kotlin 插件 */ apply

    1.1K20

    【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )

    : 解析依赖库时 , 优先使用本地仓库 , 本地仓库没有该依赖 , 则使用远程仓库 ; RepositoriesMode.FAIL_ON_PROJECT_REPOS : 解析依赖库时 , 强行使用远程仓库..., 不管本地仓库有没有该依赖库 ; 参考之前的 【Android Gradle 插件】Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库...'com.android.application' version '7.3.1' apply false id 'com.android.library' version '7.3.1' apply...' 说明引入插件的版本号 , apply false 表示当前不会马上引用该插件 , 在 Module 子项目 中使用到该插件时 , 才能正式应用 ; 在此处 主要是为了说明 Gradle 插件的版本...com.android.library 插件 的 版本 ; buildscript { repositories { google() jcenter()

    2K01

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ③ ( 在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 )

    构建脚本 切换设置 , 切换 应用 / 依赖库 ; AndroidManifest.xml 清单文件 切换设置 , 设置 启动 Activity 项 ; 在 【Android Gradle 插件】组件化中的...Gradle 构建脚本实现 ② ( 组件化基本实现 | Project 相关目录 | 定义组件切换标志位 | 切换插件导入 | 切换设置应用 ID ) 博客中实现了 模块化 与 组件化 的切换 ;...'com.android.application' id 'kotlin-android' }*/ /** * rootProject.projectDir 是工程的根目录 * apply...设置为 true. ( 单独运行 ) * 组件化导入 com.android.application 插件 */ apply plugin: 'com.android.application...isModuleDebug 设置为 false. ( 非单独运行 ) * 模块化导入 com.android.library 插件 */ apply plugin: 'com.android.library

    2.1K50

    【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★

    , 不是 Android Gradle 插件自带的 ; Android Gradle 插件 , 是遵循 org.gradle.api.Project 中的规则进行开发的 ; 首先在 build.gradle...中 , 引入了 com.android.application 插件 , plugins { id 'com.android.application' id 'kotlin-android...: 引入了 com.android.library 插件的 Module 工程中的 android 扩展 ; Android Library 依赖库 ; TestExtension : 引入了 com.android.test...'com.android.application' id 'kotlin-android' } 中导入的 插件确定 , 上述配置中 , 导入了 com.android.application...插件 , 其使用的就是 AppExtension 规则 ; Android 的依赖库中 plugins { id 'com.android.library' } 导入的是 com.android.library

    3K30

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ④ ( 使用路由实现组件间通信 | 引入 ARoute 框架 | Gradle 构建脚本优化问题 )

    文章目录 一、使用路由实现组件间通信 二、抽取构建脚本 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用 | 依赖库模块...② ( 组件化基本实现 | Project 相关目录 | 定义组件切换标志位 | 切换插件导入 | 切换设置应用 ID ) 博客中实现了 模块化 与 组件化 的切换 ; 在 【Android Gradle..., 但是 模块间 通信的源码还在 , 如 模块 A 启动 模块 B 的 Activity 组件 , 如果在 组件化状态 下 , 模块 B 可以独立运行 , 是可执行模块 , 无法被设置为依赖库的 ; 模块...其它所有的模块都作为依赖库存在, * 此时, isModuleDebug 设置为 false. ( 非单独运行 ) * 模块化导入 com.android.library...插件 */ apply plugin: 'com.android.library' } /** * 导入 Kotlin 插件 */ apply plugin: 'kotlin-android

    71220

    【Android】Android Studio 开发工具 Android Gradle Plugin 插件 Gradle 构建工具版本兼容问题 ( 2023 年 4 月 17 日更新 )

    很容易出现各种奇怪的编译问题 ; 参考文档 : Android Gradle 插件版本说明 ; 一、Android Gradle Plugin 插件版本 与 所需的最低 Gradle 构建工具版本 对应关系...---- Android Gradle 插件在 Android Studio 工程根目录 下的 build.gradle 构建脚本中配置 , 其中 id 'com.android.application...' version 和 id 'com.android.library' version 配置的就是 Android Gradle Plugin 插件的版本号 ; plugins { id 'com.android.application...' version '7.4.1' apply false id 'com.android.library' version '7.4.1' apply false id 'org.jetbrains.kotlin.android...与 所需的最低 Gradle 构建工具版本 对应关系 : Android Gradle Plugin 插件版本 所需的最低 Gradle 构建工具版本 8.1 8.0 8.0 8.0 7.4 7.5

    4.5K30

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

    二、解决方案 ---- 翻译下报错信息 : 您的项目正在使用一个不兼容的 Android Gradle 插件版本(AGP 7.4.2),最新支持的版本是 AGP 7.3.1。...AGP 是 Android Gradle Plugin 的简写 ; 上述报错的原因是 Android Studio 开发环境 与 Android Gradle 插件 版本不兼容导致的 ; 在 Android...Studio Dolphin " 版本的 Android Studio , 最高只能配置的 Android Gradle 插件的版本为 7.3.1 ; 在 Mac 中创建的项目 , 自动生成的 Android...插件 和 com.android.library 插件的版本修改为 7.3.1 , 即可完成编译 ; // Top-level build file where you can add configuration...' apply false id 'com.android.library' version '7.3.1' apply false id 'org.jetbrains.kotlin.android

    4.5K30

    优雅的数据库表ID的设计方案

    数据库表设计是项目开发中逃不掉的问题,每一张表,我们都会设计一个ID主键字段,关于表ID的生成方式,每个人都有自己的见解,我们就来讨论如何优雅的设计数据库ID 自增ID 这种方式用起来最简单,也是很多程序员喜欢用的方式...还有一个缺点,当我们在做一个新增操作时,这个ID是数据库自增的,但是代码业务层并不知道,如果我们要拿这个ID做其他操作,这时就只能重新查一遍数据库了。...数据库UUID 这种方式解决了自增ID容易被探测的问题,使用方法:mysql的uuid()函数,生成出来是32位的16进制数,在有生之年不会有重复,如下图: ?...但是它依然有一个缺点,就是新增操作时,业务层不知道ID,非要重新查一遍数据库才知道。 JAVA生成UUID 这种方式解决了数据库UUID的一个问题,ID是JAVA代码生成的,减少了一次数据库查询。...将UUID的32位的16进制数,每4位转成62进制,看不懂的直接用就是了,这样的短ID不仅有UUID不重复的特性,还不占用空间,8位ID在一些查询等操作的性能上也优于32位ID,这就是优雅的UUID设计方案

    1.5K30

    【Android 组件化】从模块化到组件化

    构建脚本分析 一、从模块化到组件化 ---- Android 应用项目 , 都存在一个应用模块 ( Application Module ) , 在 build.gradle 构建脚本中 , 第一个插件配置...com.android.application , 表明 该 Module 编译打包后的输出是 APK 安装包 ; 该项目可以直接运行 ; plugins { id 'com.android.application...' id 'kotlin-android' } 如果在 build.gradle 配置的是 com.android.library 插件 , 那么 编译 Module 打包后输出的是 aar 依赖库...; 该项目不能直接运行 ; plugins { id 'com.android.library' id 'kotlin-android' } 模块化 : 随着应用业务增加 , 功能变得越来越复杂...SDK 依赖库 , 提供给 Library 模块引用 , Application 再引用这些 Library 模块 ; 模块化的缺点 : Library 模块中实现了一个功能 , 如果要运行的话 , 需要借助

    1K20

    Typecho插件 - 为你的文章生成海报

    灵感起源 其实写这个插件的初衷还是因为——我没钱!没错,就是我没钱。其实最早是在Typecho爱好者博客里面看到的。当时感觉这个插件的确不错,我很喜欢。...特色功能 1.全过程使用GD库生成海报,所以说不用担心排版错乱。 2.生成海报后保存到插件目录下的poster文件夹,节省第二次生成时间。 3.使用必应每日一图作为头图,每天的文章都有不同的新鲜感。...5.推荐使用Cuckoo主题 插件售价 本插件不要998,也不要888,只要...其实插件是免费的。...-03-19临时更新 为防止插件被别有用心的人收费,特加入鉴权机制,需要申请token之后才可以使用(免费哒) 增加模态框展示海报,直接下载太丑了 再再再次修复无法在pjax主题中使用 自定义按钮样式不再是...- 为你的文章生成海报》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-53.html

    68940

    EasyDSS视频回看列表显示为ID的排查与优化

    视频直播点播EasyDSS平台具备灵活的视频能力,包括直播、点播、转码、管理、录像、检索、时移回看等,平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等能力服务,可应用在无人机推流、在线直播...有用户反馈,在EasyDSS视频回看列表中,“名称”显示为“ID”,请求我们排查与解决。...查看接口返回,name字段返回实际是ID值,如下图:由此判断出,该问题是后端返回数据导致,排查后端代码,在更新视频回看列表时,将id更新到name字段。...参考如下代码,将其改正即可:EasyDSS平台可支持用户自行上传视频文件,也可将上传的点播文件作为虚拟直播进行播放。...平台能支持多屏播放,可兼容Windows、Android、iOS、Mac等操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性。

    16220

    Android Studio的build.gradle文件使用(一)

    buildscript {//这里是gradle脚本执行所需依赖,分别是对应的maven库和插件 repositories { google()//从Android Studio3.0...} dependencies { classpath 'com.android.tools.build:gradle:3.0.0'////此处是android的插件gradle...task clean(type: Delete) { delete rootProject.buildDir } apply plugin apply plugin表示应用了一个插件,该插件一般有两种值可选...: 'com.android.application',表示该模块为应用程序模块,可以直接运行,打包得到的是.apk文件 'com.android.library',表示该模块为库模块,只能作为代码库依附于别的应用程序模块来运行...,打包得到的是.aar文件 写法如下: // 声明是Android程序, //com.android.application 表示这是一个应用程序模块 //com.android.library 标识这是一个库模块

    81720

    浅谈 Python 库的插件系统设计

    上一篇文章介绍了可选配型插件的实现的例子,这篇文章继续说说安装即生效的插件原理。 安装即生效的插件 如果使用方只用把插件加到依赖里,安装以后这个插件就自动生效了,那使用方岂不是非常方便?...插件宿主加载并执行 第一种方法最为自然,宿主预留出加载插件的地方,执行到这个地方,就把当前所有安装的插件载入,并调用执行。...简单来说,就是 Python 的库打包时,像包信息中注册写入一个配置,把某个 Python 对象注册为特定类型(类型需要与宿主约定好)的载入点,宿主则可以通过pkg_resources.iter_entry_points...实现的方法就是前文提到的插件宿主加载并执行方法。扩展的setup.py写法为: # setup.py setup( ......首先必须留出插件载入点,通过 entry_points 的方式载入插件,其次我希望暴露的对象尽可能少,插件的入口尽可能少。 这样就要求 PDM 中的基本对象类型,都是可以继承然后替换的。

    37830
    领券