当前位置: 首页 > 知识库问答 >
问题:

向库aar包添加gradle依赖项

微生阳平
2023-03-14

我正在为一个供应商做一个库项目,它需要Android Volley作为一个依赖项。我已经在Android Studio中使用了这个Create aar文件来创建.aar文件,并将其包含在一个测试项目中,我正在使用这个添加本地.aar文件到使用“flatdirs”的Gradle build中是不起作用的。库链接精细,项目编制无差错。但在运行时,测试应用程序崩溃,说它找不到Volley

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/android/volley/toolbox/Volley;
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.volley.toolbox.Volley" on path: DexPathList[[zip file "/data/app/in.gridsync.acttest-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

我的图书馆项目的分级文件是这样的

    apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.mcxiaoke.volley:library:1.0.19'
}
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "in.gridsync.acttest"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile project(':openapp-library')
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.0'
}

我假设,当创建.aar包时,它会使用并包含对Volley库的依赖关系。谁能说说这件事吗?

共有1个答案

沃威
2023-03-14

据我所知,您必须为.aar库添加“@aar”。而且jar文件也不是必需的,它自己下载。试试看:

compile 'com.mcxiaoke.volley:library:1.0.19@aar'
 类似资料:
  • 本文向大家介绍gradle 添加依赖,包括了gradle 添加依赖的使用技巧和注意事项,需要的朋友参考一下 示例 Gradle中的依赖项遵循与Maven相同的格式。依赖关系的结构如下: 这是一个例子: 要添加为编译时依赖项,只需dependency在Gradle构建文件的代码块中添加以下行: 为此的另一种语法可以显式地命名依赖项的每个组件,如下所示: 这在编译时增加了依赖性。 您也可以仅为测试添加

  • 问题内容: 我看到了类似的问题,但未找到可接受的答案。问题-我有一些小功能我自己的android库。我的库使用其他库-fe Hawk(无sql数据库)。我的图书馆gradle文件: 图书馆工作正常。如果我将它用作另一个项目中的项目-它也可以工作。但是当我生成文件(带有-> )并包含到单独的项目中时-失败。项目仅查看我的图书馆的班级。Hawk com.orhanobut.hawk软件包和off其他软

  • 本文向大家介绍android-gradle 如何在模块中添加.aar依赖项?,包括了android-gradle 如何在模块中添加.aar依赖项?的使用技巧和注意事项,需要的朋友参考一下 示例 在需要aar文件的模块(库或应用程序)中,必须将其添加build.gradle到存储库中: 并添加依赖项: 请注意模块中正在使用的libs文件夹的相对路径。

  • 显然,出于某种原因,Gradle 似乎认为我的“Spring数据”依赖于 slf4j。这是 gradle 打印出来的依赖关系图 尽管spring data commons实际上并不依赖于slf4j:http://mvnrepository.com/artifact/org.springframework.data/spring-data-commons/1.5.1.RELEASE 为什么gradl

  • 我使用的是Android Studio1.4