Android studio aar包多层嵌套,Add library ‘Gradle: __local_aars__: 。。。unspecified@jar‘ to classpath

编译出错报的日志:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':toolbox:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

出错的代码提示:

Add library 'Gradle: __local_aars__:/home/junliang/.gradle/caches/transforms-1/files-1.1/glrenderer-10.0.0-u-20210318.024304-2.aar/30a9c4e8bef2653f8ecf91e4f833eae4:unspecified@jar' to classpath

原因:

implementation 单层引用
api 多层引用
解决:

在build.gradle中无法引用的类的aar/jar,引用的implementation修改为api

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter 是谷歌开发的跨平台移动应用开发框架,它能够将 Dart 代码编译为本地平台的 ARM 代码,在 iOS 和 Android 平台上运行。Flutter 支持与原生代码混合使用,这使得开发人员可以使用 Flutter 开发 UI,同时使用原生代码处理一些高级功能。 如果你想将 Flutter 作为一个 aar 库嵌入到 Android 项目中,可以按照以下步骤: 1. 在 Flutter 项目中创建插件 Flutter 插件是一种将 Flutter 功能转换为原生代码的机制。插件含了一个 Dart API 和一个原生 API,它们之间通过平台通道进行通信。要将 Flutter 项目作为 aar 库嵌入到 Android 项目中,你需要将 Flutter 插件创建为一个 aar 库。 你可以通过运行以下命令创建一个 Flutter 插件: ``` flutter create --template=plugin my_flutter_plugin ``` 这将创建一个名为 my_flutter_plugin 的插件,并在其中含一个 Flutter 模块和一个 Android 模块。 2. 将 Flutter 插件打aar 库 要将 Flutter 插件打aar 库,你需要对 Android 模块进行一些修改。首先,将 Android 模块中的 build.gradle 文件中的 apply plugin 行更改为: ``` apply plugin: 'com.android.library' ``` 然后,将以下内容添加到 build.gradle 文件的末尾: ``` android { ... sourceSets { main.java.srcDirs += "${flutterRoot}/packages/flutter_module/src/main/java" } } task copyFlutterFramework(type: Copy) { from new File(project(':flutter').projectDir, 'build/app/outputs/flutter-apk/app-release-unsigned.apk') into('libs') { rename { 'app-release-unsigned.apk' } } } preBuild.dependsOn(copyFlutterFramework) ``` 这将允许你将 Flutter 模块中的 Dart 代码编译为本地平台的代码,并将其打aar 文件中。 最后,在 Android 模块的 build.gradle 文件中添加以下依赖项: ``` dependencies { implementation 'com.google.android.material:material:1.0.0' implementation project(':flutter') } ``` 3. 将 aar 库添加到 Android 项目中 要将 aar 库添加到 Android 项目中,你需要将 aar 文件复制到 Android 项目的 libs 目录中,并将以下内容添加到 Android 项目的 build.gradle 文件中: ``` repositories { flatDir { dirs 'libs' } } dependencies { implementation(name:'my_flutter_plugin', ext:'aar') } ``` 这将允许 Android 项目在构建时引用 aar 库。 这些步骤将允许你将 Flutter 作为一个 aar 库嵌入到 Android 项目中。当你构建 Android 项目时,Flutter 将作为一个原生库被含在内,可以通过平台通道与 Dart 代码进行通信。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值