Android Studio之将application工程改成library工程生成aar包

2023-10-29

一、修改application工程的app/build.gradle脚本
1、 将项目由应用工程更改为库工程

apply plugin: 'com.android.application'
更改为: 	apply plugin: 'com.android.library'

2、屏蔽掉andorid节点下defaultConfig节点中的:

applicationId "com.mili.smarthome.snj"

3、dependencies中包含的在线下载库有些要屏蔽,放在调用aar工程中也去下载导致重复下载。

二、修改程序内容
1、由于Library工程中资源ID不是常量,而应用工程中资源ID是常量,固library工程中不能使用switch-case语句访问资源ID,需要改成if-else-if语句来访问资源ID。

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_back:
            onBackPressed();
            break;
    }
}

改成:

@Override
public void onClick(View v) {
    if (v.getId() == R.id.btn_back) {
        onBackPressed();
    }
}

2、不能使用butterknife.BindView等butterknife方式声明变量。

@BindView(R.id.img_icon) ImageView imgIcon;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio之将application工程改成library工程生成aar包 的相关文章

  • Android 使用SwipeRefreshLayout实现RecyclerVeiw的下拉刷新和上拉加载

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 实现下拉刷新和上拉加载的完整代码如下 一 布局文件代码如下 主界面main xml代码
  • Android进阶宝典 -- 插件化1(加载插件中类)

    什么是插件化 插件化对于Android应用能起到什么好处 可能对于插件化不熟悉的伙伴们都会有这个疑问 或许你在项目中已经遇到过这个问题 只不过是不知道需要采用什么样的方式去解决 我们看下面这个场景 一个应用主模块20M 其他3个模块可以看做
  • Android 编码规范

    文章目录 背景 制定规范 一 开发环境 二 命名规范 1 资源命名 2 包命名 3 方法命名 4 类命名 5 变量 6 常量 二 编码规范 三 注释规范 1 类注释 2 方法注释 2 变量注释 3 区块注释 四 代码提交规范 五 其他须遵循
  • 【Android入门到项目实战-- 7.3】—— 如何调用手机摄像头和相册

    目录 一 调用摄像头拍照 二 打开相册选择照片 学完本篇文章可以收获如何调用手机的摄像头和打开手机相册选择图片功能 一 调用摄像头拍照 先新建一个CameraAlbumTest项目 修改activity main xml 代码如下 按钮打开
  • Android进阶宝典 -- 手写RecyclerView分页组件

    在Android应用中 列表有着举足轻重的地位 几乎所有的应用都有列表的身影 但是对于列表的交互体验一直是一个大问题 在性能比较好的设备上 列表滑动几乎看不出任何卡顿 但是放在低端机上 卡顿会比较明显 而且列表中经常会伴随图片的加载 卡顿会
  • 【Android】相对布局(RelativeLayout)最全解析

    Android 相对布局 RelativeLayout 最全解析 一 相对布局 RelativeLayout 概述 二 根据父容器定位 三 根据兄弟控件定位 一 相对布局 RelativeLayout 概述 相对布局 RelativeLay
  • Adroid游戏开发实例讲解(四)-电子白板附源码

    Adroid游戏开发实例讲解 四 电子白板附源码 程序之美 电子白板 在很多Android设备中经常会用到 比如说Android电视 触摸屏用上手写笔 轻松在上面写字 比如视频教学Android设备 有很多培训教学机构 都放有Android
  • Android实战——Zxing实现二维码扫描

    Zxing实现二维码扫描 前言 本篇文章从初学者的角度出发 从一个不知道对二维码扫描怎么下手的工作者 需要一个简单的扫描功能的话 可以阅读该篇文章 作为Google开源框架Zxing 里面的文件很大 这里主要讲的是精简ZXing项目后只保留
  • 安卓数据视图化工具SQLiteStudio

    SQLiteStudio工具使用介绍 1 下载 SQLliteStudio 解压后打开文件夹中的exe文件即可 阿里网盘有 2 对SQLliteStudio进行配置 简介 视图化安卓开发过程中数据库内容 笔者使用AndroidStudio开
  • RecyclerView嵌套RecyclerView的滑动问题如何解

    一 概述 虽然今天我们要说的是Rv嵌套Rv的问题 但多数情况下我们都不会使用Rv嵌套Rv 来实现复杂的列表 而是使用多ItemType实现 可能再复杂点的 配合GridLayoutManager SpanSizeLookup一起来实现 再高
  • 关于Android Studio使用intent跳转到新的Activity出现not an enclosing class报错的解决办法

    目前遇到not an enclosing class这个问题两次 分别是犯了不同的错误 1 第一个参数输入错误 第一个参数应该是当前活动的上下文 也就是当前Activity的参数 例如我的当前Activity是MainActivity 要跳
  • Ubuntu 17.04系统创建Android Studio桌面快捷方式的方法

    下面以 Android Studio 为例 阐述Ubuntu系统中创建桌面快捷方式的方法 假设已将 Android Studio 下载到 home
  • Android Studio开发环境的搭建

    Android Studio开发环境的搭建 一 实验目的及任务 Windows下掌握Android Studio的安装和配置 模拟器的创建 Activity的创建和注册 二 实验环境 Jdk Android Studio 三 实验步骤 An
  • [Android Studio] 第5节 Intent页面跳转

    目录 目录 一 Intent是什么 二 使用步骤 1 调转demo 2 详解 3 页面数据传递 一 Intent是什么 Intent是Android中用于在不同组件 如活动 服务 广播接收器 之间传递数据和执行操作的对象 它可以用于启动活动
  • 推荐几款实用的Android Studio 插件

    http www jcodecraeer com a anzhuokaifa Android Studio 2015 1009 3557 html
  • 【Android】Android ANR产生过程与分析方法

    前言 Android ANR问题一直是比较难解决的问题 一来它比较难以复现 二来复现后也不太好分析 这篇文章梳理一下ANR产生的过程以及出现ANR拿到日志文件如何定位原因 其实关于ANR线上监控也是比较棘手的 看了这篇文章我们再去看一些AN
  • Android编译之常用配置及mk模板使用(汇总一)

    Android编译之常用配置及mk模板使用 引言 编译选项 1 eng 2 user 3 userdebug 模块编译常量宏 常用模块编译模板 1 编译一个APK 2 编译一个Java 共享库和静态库 3 编译一个Native 共享库和静态
  • Android发送POST网络请求

    参考链接 Android 网络请求 网络请求 Okhttp 51CTO博客 android 网络请求 项目中需要通过发送网络请求获取需要显示的数据内容 请求地址和requestbody如上图所示 网络请求用 implementation c
  • Cannot locate tasks that match ‘:shared:testClasses‘ as task ‘testClasses‘ not found in project

    问题 在使用Gradle构建项目时 遇见了一个奇怪的问题 运行报错如下 Cannot locate tasks that match shared testClasses as task testClasses not found in p
  • 【强推荐】如何生成正式签名的APK文件

    在本篇文章您将了解到两种生成正式签名的APK文件 当然还会了解到 gradle build 与 gradle assemble 的区别 通过 Android Studio 生成 使用 Gradle 生成 文章目录 前言 使用Android

随机推荐

  • 强化对信息安全事件的预防

    声明 本文是学习信息技术 安全技术 信息安全事件管理 第1部分 事件管理原理 而整理的学习笔记 分享出来希望更多人受益 如果存在侵权请及时联系我们 范围 本部分提出了信息安全事件管理的基本概念和过程阶段 并将这些概念与结构化方法的原理相结合
  • spring常用注解

    1 Controller 在SpringMVC 中 控制器Controller 负责处理由DispatcherServlet 分发的请求 它把用户请求的数据经过业务处理层处理之后封装成一个Model 然后再把该Model 返回给对应的Vie
  • mysql-5.6.16-win32免安装配置方法

    转载自 http blog csdn net fzhmoive article details 20042437 http blog csdn net leili0806 article details 8573636 1 下载MySQL
  • 口袋进化服务器维护,《口袋进化》新手指引.新手指导

    第一只精灵 你做好成为一名训练家的准备了么 作为一枚纯纯的萌新 在刚接触时 建议根据游戏提供的引导 来逐步熟悉基本玩法和养成体系 除此之外 别忘了阅读新手FAQ 在这里 为大家总结了一些新手常见的问题 方便大家享受游戏乐趣 Q 怎么升级 A
  • 编译protobuf静态库依赖顺序问题

    在项目中要加入protobuf协议支持 在编译成功生成程序包动态库后 发现启动运行报错 未定义的protobuf符号xxx等等 用ldd查看so文件 发现确实提示了未找到 大致的makefile文件如下 CXX g CFLAGS g Wal
  • 前后端分离命名规范:JSON下划线,对象小驼峰,以及Jackson常用配置

    在application yml中添加配置即可 spring jackson配置 jackson json和对象的命名转换 property naming strategy SNAKE CASE date format yyyy MM dd
  • QML下如何实现邻近区域无遮挡文字滚动

    在一些嵌入式显示设备中需要实现文字滚动功能 而利用QML是实现文字的滚动大家经常使用的功能 也非常简单 本文主要讲解一下如何避免2个邻近区域的文字滚动重叠问题 大家有没有按照如下的方式来设置文本的滚动 Window visible true
  • 机器学习流程是什么?简述机器学习流程!

    1 抽象成数学问题 明确问题是进行机器学习的第一步 机器学习的训练过程通常都是一件非常耗时的事情 胡乱尝试时间成本是非常高的 这里的抽象成数学问题 指的明确我们可以获得什么样的数据 抽象出的问题 是一个分类还是回归或者是聚类的问题 2 获取
  • 【Linux】深入理解文件缓冲区

    文章目录 问题引入 如何理解缓冲区 缓冲区刷新策略 问题解释 模拟一个文件缓冲区 问题引入 首先看一段代码 include
  • Unity3D -- Hit UFO adapter模式

    目录 一 游戏内容 二 UML图设计 三 游戏的实现 1 DiskFactory 2 FlyAction 3 SSActionManager 4 PhyUFOFlyAction 5 PhyFlyActionManager 6 ISceneC
  • 2017-百度-安全岗笔试

    2017 baidu spring 1 请回答如下端口默认对应的服务 以及在渗透测试过程中我们可以从哪些角度考虑其安全问题 端口 21 22 873 1433 3306 6379 11211 端口 服务 说明 21 FTP 匿名访问 弱口令
  • STM32内部FLASH读写-通用

    转https m baidu com from 844b bd page type 1 ssid 0 uid 0 pu usm 401 2Csz 401320 2001 2Cta 40iphone 1 10 1 3 602 baiduid
  • 基于vite搭建一个react移动端脚手架

    基于移动端的配置 vite官网 优点 光速启动 热模块替换 按需编译 脚手架功能 antd mobile移动端组件 axios网络数据交互 hox状态管理 react router dom路由管理 postcss px to viewpor
  • mybatis批量更新操作

    批量更新第一种方式 update IVMP DEVICE TYPE AISLE set AISLE TYPE
  • SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers

    https arxiv org pdf 2105 15203 pdf 文章提出了SegFormer encoder由金字塔Transformer组成 不使用位置编码 而是使用一个3x3的逐深度卷积 decoder使用了简单的MLP 因为分类
  • 搞懂oauth2.0授权码模式

    OAuth 2 0 是什么 举一个电商的场景 你估计更有感觉 假如你是一个卖家 在京东商城开了一个店铺 日常运营中你要将订单打印出来以便给用户发货 但打印这事儿也挺繁琐的 之前你总是手工操作 后来发现有个叫 小兔 的第三方软件 它可以帮你高
  • 解决字体文件Font跨域权限问题

    问题描述 Font from origin http trunk supply chain com has been blocked from loading by Cross Origin Resource Sharing policy
  • 腾讯云技术专家卢萌凯手把手教你Demo一个人脸识别程序!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文来自腾讯云技术沙龙 本次沙龙主题为Serverless架构开发与SCF部署实践 卢萌凯 毕业于东南大学 曾就职于华为 熟悉云行业解决方案 目前负责腾讯云中间件产品及无服务器云函数
  • Linux应用开发

    1 为什么要学Linux 使用标准C C 编写运行在Linux上的应用程序 编写部署在Linux上的应用程序 如Python Java web服务程序 2 Linux学习方向 2 1 学习路线 熟悉 Linux 系统 基本命令 安装 Lin
  • Android Studio之将application工程改成library工程生成aar包

    一 修改application工程的app build gradle脚本 1 将项目由应用工程更改为库工程 apply plugin com android application 更改为 apply plugin com android