【问题标题】:Android Gradle - How to include local .jar files as dependencies from outside the project directoryAndroid Gradle - 如何将本地 .jar 文件作为项目目录外部的依赖项包含在内
【发布时间】:2020-08-13 13:09:26
【问题描述】:

我正在开发一个应该离线运行的项目,我正在尝试将本地 .jar 文件作为依赖项包含在 build.gradle (app)

回购的结构可以在这里看到:

主项目位于dev 文件夹内。

submodules 文件夹中,我拥有所有appbuild 依赖项以及android-sdk, gradle pluginjdk

尝试将我所有的 jar 文件包含在 build.gradle(app) 中,如下所示:

implementation fileTree(include: ['*.jar'], dir: '../../submodules/app_dependencies')

不起作用,因为我引用了项目目录之外的路径,当我尝试构建应用程序时出现以下错误

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:androidDependencies'.
> Could not resolve all artifacts for configuration ':app:developDebugCompileClasspath'.
   > Could not resolve org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61.
     Required by:
         project :app
      > No cached version of org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61 available for offline mode.
      > No cached version of org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61 available for offline mode.
      > No cached version of org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61 available for offline mode.
      > No cached version of org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61 available for offline mode.

调试这个我在查看以下路径时看到消息No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61' in repository 'maven'

file:/C:/Users/my-user-name/Desktop/android_repo/client-android/dev/submodules/dependencies/build_dependencies/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.3.61/kotlin-android-extensions-runtime-1.3.61.jar

出于某种原因,即使我在filetree(dir) 中添加了../../,gradle 仍在dev 目录中搜索,而我的依赖项在submodules 的上方。

有没有办法在 build.gradle 中指定项目目录之外的动态路径?

【问题讨论】:

    标签: android gradle path dependencies build.gradle


    【解决方案1】:

    它适用于文件(以 kotlin 表示法):

    dependencies {
        implementation(files("../../submodules/app_dependencies/your-library.jar"))
    }
    
    

    如果您需要包含某个文件夹中的所有文件,您可以在某个目录中构建所有 jar 的列表并将其用作files() 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多