我尝试将本地.jar文件依赖项添加到构建中。gradle文件:

apply plugin: 'java'

sourceSets {
    main {
        java {
            srcDir 'src/model'
        }
    }
}

dependencies {
    runtime files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar')
    runtime fileTree(dir: 'libs', include: '*.jar')
} 

您可以看到,我将.jar文件添加到这里的referencedLibraries文件夹:https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1/referencedLibraries

但问题是,当我在命令行上运行命令:gradle build时,我得到以下错误:

error: package com.google.gson does not exist
import com.google.gson.Gson;

这是我的全部回购:https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1


当前回答

这个问题已经被详细地回答了。我还想补充一些让我很惊讶的事情:

“gradle dependencies”任务没有列出任何文件依赖项。即使你可能会这么想,因为它们已经在“依赖项”块中指定了。

因此,不要依赖于它的输出来检查所引用的本地库文件是否正常工作。

其他回答

如果你真的需要从本地目录中获取。jar文件,

添加到你的模块gradle(不是应用程序的gradle文件):

repositories {
   flatDir {
       dirs("libs")
   }
}


dependencies {
   implementation("gson-2.2.4")
}

但是,作为实际maven存储库中的标准.jar,为什么不尝试一下呢?

repositories {
   mavenCentral()
}
dependencies {
   implementation("com.google.code.gson:gson:2.2.4")
}

以下是我的工作:

compile fileTree(dir: 'libs', include: '*.jar')

参考Gradle文档。

这个问题已经被详细地回答了。我还想补充一些让我很惊讶的事情:

“gradle dependencies”任务没有列出任何文件依赖项。即使你可能会这么想,因为它们已经在“依赖项”块中指定了。

因此,不要依赖于它的输出来检查所引用的本地库文件是否正常工作。

一个简单的方法是

compile fileTree(include: ['*.jar'], dir: 'libs')

它会编译App中libs目录下的所有。jar文件。

Goto File -> Project Structure -> Modules -> app -> Dependencies Tab ->单击+(按钮)->选择File Dependency ->选择lib文件夹中的jar文件

该步骤将自动将您的依赖项添加到grade

非常简单的