当前位置:   article > 正文

Android Studio开发之路(十)app中使用aar以及报错记录_error inflating class androidx.camera.view.preview

error inflating class androidx.camera.view.previewview

书接上文: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中申请相机权限

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/927624
推荐阅读
相关标签
  

闽ICP备14008679号