当前位置: 首页 > news >正文

Android Studio开发之路(十)app中使用aar以及报错记录

书接上文:Android Studio开发之路(九)创建android library以及生成aar文件

五、app中使用aar文件的方法

先复制一下上面生成的aar文件。然后在你要添加到的app左上角选择“project”模式,然后找到libs文件夹,点击右键选择paste,就可以将aar粘贴过来了

这里是引用

然后,如下图,先左上角File->project structure->Dependencies->选中app->点击“+” ->选择add Jar/aar Dependency,然后填写你的aar文件路径,路径就是libs开头。

这里是引用

填完之后依次点击ok之后,检查你的build.gradle(:app)就可以看到dependcies中多了一行如下图的依赖(不同版本格式略有不同)。所以,熟练的话可以不操作上一步,直接将这一行语句写到这个位置,效果是一样的。

这里是引用
然后就可以正常使用了。

六、调用aar文件中代码的方式

1.接口函数调用,跟普通的java类一样,aar文件中创建类和public函数,在app中直接创建类的示例然后访问接口即可。
2.app中的activity启动aar中的activity:方法也跟app内部activity之间启动的方式一样用Intent。

七、报错1 aar中界面不启动直接闪退

原因:module中activity都是手动创建的,那么创建的activity是需要在manifast.xml里边注册一下的,例如

这里是引用

八、报错2 binary XML file line#10 in layout/activity_takephoto: Error inflating class androidx.camera.view.PreviewView

我要使用camerax创建相机,于是我首先在module的build.gradle中添加了camerax相关依赖,然后在layout里边创建了一个previewview用于显示预览,(我直接copy我之前在别的app里边做的camerax+opencv的一套相机处理代码)如下图

这里是引用
在这里插入图片描述

,并且顺利的生成了aar文件,但是当我将aar添加到app中,并安装到手机运行的时候却报了Error inflating class androidx.camera.view.PreviewView的错误。查找资料说是这个报错是因为camerax类没有正确加载。但是aar里边正确加载了,那么就只能是使用这个aar的app有问题。
于是,问了文心一言,得到了这个信息:

这里是引用

好吧,那就在app里边添加以下camerax的依赖,果然解决了。
另外,除了外部依赖,权限申请也是一样的,比如我的aar中申请了相机权限,那么使用它的app也要在androidmanifast.xml中申请相机权限

http://www.lryc.cn/news/347902.html

相关文章:

  • sql-行转列3(转置)
  • MATLAB | 最新版MATLAB绘图速查表来啦!!
  • web安全之登录框渗透骚姿势,新思路
  • 无人机+自组网:空地点对点无人机通信解决方案
  • android TV app适配遥控器思路,recycleview选中放大
  • python篇-cmd 执行pip命令失败,但执行pyhon命令正常
  • Redis系列-3 Redis缓存问题
  • 【数据结构】堆(Heap)
  • vue cli 自定义项目架子,vue自定义项目架子,超详细
  • flink cdc,读取datetime类型
  • Kotlin 编译器和工具链:深入解析与实践案例
  • kettle
  • Maven 自动化构建
  • Unicode字符集和UTF编码
  • echarts默认图例(横线+圈圈)
  • Shell脚本的基础和变量
  • VRRP协议-负载分担配置【分别在路由器与交换机上配置】
  • 商务分析方法与工具(十):Python的趣味快捷-公司财务数据最炫酷可视化
  • 思源笔记如何结合群晖WebDav实现云同步数据
  • Electron Forge | 跨平台实战详解(中)
  • stable diffusion教程
  • 音频文件分析-- whisper(python 文档解析提取)
  • Python深度学习基于Tensorflow(3)Tensorflow 构建模型
  • 火爆多年的抖音小店,2024年想要入驻需要什么条件呢?
  • STM32G030C8T6:EEPROM读写实验(I2C通信)
  • 使用Git管理github的代码库-上
  • 经典文献阅读之--D-Map(无需射线投射的高分辨率激光雷达传感器的占据栅格地图)
  • 开源免费的定时任务管理系统:Gocron
  • 从零开始详解OpenCV车道线检测
  • 【Java代码审计】逻辑漏洞篇