Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packaged in the resulting AAR. Previous versions of the Android Gradle Plugin produce broken AARs in this case too (despite not throwing this error). The following direct local .aar file dependencies of the :zhongtuisdk project caused this error: D:\DawSdkMM_AGENT\DawSdkMM_AGENT\zhongtuisdk\libs\channelsdk-0.2.1-beta.aar, D:\DawSdkMM_AGENT\DawSdkMM_AGENT\zhongtuisdk\libs\humesdk-1.0.0.aar
时间: 2024-04-28 10:21:00 浏览: 462
这个错误信息是在Android Gradle插件中出现的,它指出直接使用本地的.aar文件作为依赖项会导致生成的AAR文件缺失其中的类和Android资源文件,因此会产生错误。这个问题在之前的插件版本中也存在,只是没有抛出错误信息。您的项目中直接依赖了两个本地的.aar文件,分别是channelsdk-0.2.1-beta.aar和humesdk-1.0.0.aar,导致了这个错误的出现。
相关问题
flutter 执行 build 报错:Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken
直接本地的 .aar 文件依赖项不支持构建 AAR。由于任何本地 .aar 文件依赖项的类和 Android 资源不会打包在生成的 AAR 中,因此生成的 AAR 将无法使用。在这种情况下,Android Gradle 插件的早期版本也会生成损坏的 AAR(尽管不会抛出此错误)。如果您的 Flutter 项目中使用了本地的 .aar 文件依赖项,那么您需要将其转换为 Maven 依赖项,或者将其打包为本地 Maven 存储库中的库。您可以使用以下步骤解决此问题:
1. 将本地的 .aar 文件依赖项转换为 Maven 依赖项。您可以使用以下命令将其转换为 Maven 依赖项:
```
./gradlew :<module-name>:uploadArchives
```
然后,您可以在项目的 build.gradle 文件中添加以下 Maven 依赖项:
```
repositories {
mavenLocal()
// other repositories
}
dependencies {
implementation '<group-id>:<artifact-id>:<version>'
// other dependencies
}
```
2. 将本地的 .aar 文件依赖项打包为本地 Maven 存储库中的库。您可以使用以下步骤将其打包为本地 Maven 存储库中的库:
a. 在项目的 build.gradle 文件中添加以下 Maven 存储库:
```
repositories {
mavenLocal()
// other repositories
}
```
b. 在本地 Maven 存储库中创建一个新的目录,并将 .aar 文件复制到该目录中。
c. 在 .aar 文件所在的目录中创建一个新的 build.gradle 文件,并添加以下内容:
```
apply plugin: 'maven'
group = '<group-id>'
version = '<version>'
artifactId = '<artifact-id>'
repositories {
mavenLocal()
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://${System.properties['user.home']}/.m2/repository")
}
}
}
```
d. 在 .aar 文件所在的目录中运行以下命令:
```
./gradlew uploadArchives
```
然后,您可以在项目的 build.gradle 文件中添加以下 Maven 依赖项:
```
repositories {
mavenLocal()
// other repositories
}
dependencies {
implementation '<group-id>:<artifact-id>:<version>'
// other dependencies
}
```
Direct local .aar file dependencies are not supported when building an AAR
这个错误通常是由于在构建 AAR 时使用了本地 .aar 文件依赖项而导致的。这是因为 AAR 文件本身就是一种 Android 库,它包含了所有的依赖项,因此不支持使用其他的 AAR 文件作为依赖项。
解决这个问题的方法是将本地 .aar 文件转换为 Maven 或 Gradle 依赖项,然后将其添加到项目的 build.gradle 文件中。具体步骤如下:
1. 将本地 .aar 文件复制到项目的 libs 目录下。
2. 在项目的 build.gradle 文件中添加以下代码:
```
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
implementation(name: 'your-aar-file-name-without-extension', ext: 'aar')
}
```
3. 同步 Gradle 以使更改生效。
阅读全文