将gradle依赖添加到库aar包中

2024-01-05

我正在为供应商制作一个库项目,它需要 Android Volley 作为依赖项。我用过这个在Android Studio中创建aar文件 https://stackoverflow.com/questions/24309950/create-aar-file-in-android-studio创建 .aar 文件并将其包含在我正在使用的测试项目中使用“flatDirs”将本地 .aar 文件添加到 Gradle 构建不起作用 https://stackoverflow.com/questions/24506648/adding-local-aar-files-to-gradle-build-using-flatdirs-is-not-working。该库链接良好,项目编译没有错误。但在运行时测试应用程序崩溃并表示找不到 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

我的库项目的 Gradle 文件是这样的

    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'
}

在测试项目中,gradle是这样的

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 库的依赖项。有人可以解释一下吗?


据我所知,您必须为 .aar 库添加“@aar”。另外,jar 文件不是必需的,它会自行下载。 尝试这个:

compile 'com.mcxiaoke.volley:library:1.0.19@aar'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将gradle依赖添加到库aar包中 的相关文章

随机推荐

  • Ember.js ember-data resadapter 无法加载 json

    干杯 我有余烬数据存储 TravelClient Store DS Store extend revision 11 adapter DS RESTAdapter create bulkCommit false url http someI
  • 如何删除今天创建的所有记录?

    我正在处理一个非常大的数据库 600 万条记录 我今天添加了约 30 000 条不良记录 如何删除MySQL中今天创建的所有记录 它似乎created at是一个日期时间 尝试 delete from table where date cr
  • vs2015 更新 3 时 npm 安装失败并出现错误 C2373

    使用 Windows 10 重新安装我的机器后 进行设置Visual Studio 2015我在安装 git 存储库时遇到此错误 npm install在不同的项目上失败了 C Program Files nodejs node modul
  • Fortran 数组中的变量被删除?

    我有下面的代码 具有抽象类型 继承类型和一个短程序 我在其中创建一个对象并将其存储在数组中 module m implicit none type container class a allocatable item end type co
  • jQuery:禁用除当前复选框之外的所有复选框

    我有一些复选框需要以与单选按钮控件类似的方式运行 本质上 当选中一项时 所有其他项都需要取消选中 我怎样才能以尽可能少的痛苦来实现这一目标 所以总结一下 如果选中某个复选框 则必须取消选中所有其他 同级 保持单击的一个复选框不变 我已经知道
  • javascript postMessage 不工作

    我不知道该怎么办 我尝试了来自不同来源的几个示例代码 我在不同的浏览器中尝试了它们 从 Chrome 9 到 FF 4 但似乎仍然没有任何内容可以与 postMessage 功能一起使用 JS 控制台没有给我任何信息 没有一个错误 仍然没有
  • PowerShell 和 ActiveDirectory 模块 - 查找不属于特定组的用户

    上周 我第一次接触到 PowerShell 和 Active Directory 我希望能够找到非管理员与域管理员的用户列表 到目前为止 我知道如何使用以下命令 语句获取所有 ActiveDirectory 用户的所有属性 Get ADUs
  • 广义新类型推导

    Haskell 可以推导出以下实例MonadState s in T1低于但不在T2然而 这是一个非常相似的类型 我应该以什么方式修改代码T2这样的实例MonadState s可以自动导出吗 LANGUAGE GeneralizedNewt
  • Matlab 未绘制精确的傅里叶信号

    我正在尝试使用 Matlab 在傅立叶域中绘制一个简单的信号 它没有绘制正确的信号 这是我的代码 clc clear all close all x 1 0 001 10 f1 sin 2 pi 10 x f2 sin 2 pi 15 x
  • 使用 Properties.Default.Settings 时,应用程序会创建名称中带有“_”空格的文件夹

    所以情况就像 在程序集信息 对于 C Winform 应用程序 中 我这样输入 Now When I run it it creates folder with in name in place of Space Like this 它会在
  • Swift 3:无法将类型“NSMutableDictionary”的值转换为预期参数类型“[AnyHashable:Any]!”

    这段代码在 Swift 3 之前有效 诅咒你的 Swift 3 现在它显示了这个错误Flurry logEvent eventName withParameters userData line 无法将 NSMutableDictionary
  • MongoRepository的saveAll()是批量插入数据吗?

    我想让保存操作高效 所以我想偶尔向 Mongo 写入大量对象 即超过某些容量时 Would saveAll 为我做那个吗 我应该使用BulkOperations反而 简短的回答 是的 但前提是所有文件都是新的 如果没有 就会一一插入或更新
  • 使用 min(width, height)/2 作为半径在 WPF 中绘制圆

    如何在 WPF 中 没有代码隐藏 使用绘制圆min width height 2作为半径 您可以在纯 XAML 中执行此操作 只需对值使用 Binding 即可 您还必须确保所有内容都已命名
  • 如何使用 Javascript 替换字符串中的大引号?

    我正在尝试替换大引号 str I don t know what you mean by glory Alice said Using str replace g 为什么它不起作用 我怎样才能做到这一点 您可能必须 或更愿意 使用 Unic
  • 如果值被禁用,则 Select 的值 = null

    我有 Select 并且所有值都被禁用 如何将值设置为此 Select
  • 线程实现

    我想知道如何实施我自己的线程库 我拥有的是CPU PowerPC架构 和C标准库 有没有我可以看看的开源轻量级实现 最简单的线程需要 一些内存用于堆栈空间 存储其上下文的地方 即寄存器内容 程序计数器 堆栈指针等 最重要的是 您需要实现一个
  • 启用 mod_deflate 发送 Content-Encoding: gzip

    EDIT我发现问题实际上是PHP 缩小 http code google com p minify 这是发送压缩的内容而不是 Apache 我会找到更多这方面的信息 根据高性能网站 http oreilly com catalog 9780
  • F# 命令行文件顺序?

    为什么参数的顺序对于 F 来说很重要 对于 C 使用相同的编译模型 来说并不重要 当我尝试这个时 main fs module Main let main Printer print repeatedly 5 hello world pri
  • Android studio 2.2.0-rc1 gradle插件错误

    我刚刚将 Android Studio 更新到该版本2 2 0 rc1安卓得到错误 找不到 com android tools build gradle 2 2 0 rc1 在以下位置进行了搜索 https jcenter bintray
  • 将gradle依赖添加到库aar包中

    我正在为供应商制作一个库项目 它需要 Android Volley 作为依赖项 我用过这个在Android Studio中创建aar文件 https stackoverflow com questions 24309950 create a