Android studio使用aar的个别问题

集成aar的两种方式:

1、导入aar,使aar作为一个module项目导入,和app同级目录。
这种方式在build.gradle中的dependencies的依赖方式是:
implementation project(':aar的名称');
2、把aar复制到libs文件夹下,然后添加依赖。
这种方式在build.gradle中的dependencies的依赖方式如下面这样:
implementation(或api)(name:'aar名称',ext:'aar',{
    exclude group:'com.android.support',module:'support-v4'
})

 

我使用的是第二种方式,使用中有四个简单的错误。

错误一:
Failed to resolve::aar名称:
Open File


解决:
这个需要在Module:app的build.gradle下添加下面内容:
repositories {
    flatDir {
       dirs 'libs'
    }
}


错误二:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'.
解决:
这个一般会提示解决方法,如下:

根据建议在AndroidManifest.xml中添加:
<manifest
    xmlns:tools="http://schemas.android.com/tools">
<application
    tools:replace="android:name">


错误三:
java.lang.NoSuchFieldError: No field xxx of type I in class Lcom/xxxx/module/R$id;
解决:
这个是因为项目中的res资源和aar中的res资源有重名的xml文件。
所以修改主程序或aar中的xml文件名即可。

 

错误四:

Error: Google Play requires that apps target API level 26 or higher. 

解决:

我主项目的targetSdkVersion是27,但是集成aar后,发现里面的部分语音及视频功能在Android7.0的手机上无法正常使用,最后我想尝试下是不是targetSdkVersion版本太高的缘故。修改targetSdkVersion的值时就提示了这个错误警告。
网上搜索的解决方式:https://blog.csdn.net/lancewoo/article/details/87879272。我是直接改成了26,aar包里的功能也可正常使用
。
至于为什么在targetSdkVersion 27的时候,aar个别功能不可用,还不知道原因。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值