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

包含本地JAR文件Android Gradle

刘奇
2023-03-14

我正在尝试编译一个APK,它在一个JAR文件中使用一个遗留库。

我已经做了其他的问题,但没有一个对我有帮助:1、2、3和4。我甚至在github上发现了一个与我的痛苦gradle/gradle/issues/1184相关的未解决问题--gradle-q依赖关系没有列出本地文件依赖关系...这很糟糕,因为我花了很多时间思考文件依赖项没有被包括在内。

总之,这是我项目的build.gradle文件:

// Project's build.gradle
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

这是应用程序的构建.Gradle

// app's build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.mycompany.myapp"
        minSdkVersion 24
        targetSdkVersion 26
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation files('libs/mylib_java.jar')
}

问题是,当我运行./gradlew build时,我得到一个错误,好像mylib_java.jar中实现的包不存在...

任务:app:compiledebugjavawithjavac失败/home/donatoaz/my_apk_gradle/app/src/main/java/com/mycompany/myapp/mainactivity.java:18:错误:包mycompany.mylib.audiofx不存在导入mycompany.mylib.audiofx.customEffect;

现在,我曾经能够很好地编译apk,但那是使用一个非常古老的Android Studio,没有gradle(我使用的是API Level19,Android4.4)。

我现在正在使用Gradle4.5.1。PS我使用的不是Android Studio,这是在构建一个持续集成的服务器,无头。

gradle创建的构建扫描的链接在这里

共有1个答案

魏熠彤
2023-03-14

通过设置平面目录存储库,您应该能够“提升”文件依赖关系,使其出现在依赖关系报告中:

repositories {
    flatDir {
        dirs "libs"
    }
}

dependencies {
    implementation ":mylib_java:"
}
 类似资料:
  • Summary The File Inclusion vulnerability allows an attacker to include a file, usually exploiting a "dynamic file inclusion" mechanisms implemented in the target application. The vulnerability occurs

  • 我有一个结构如下的maven项目: 我希望maven jar插件在构建jar文件时打包到数据库文件夹中。我尝试过包含这里概述的内容:https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html,但它找不到目录“../database”(或../../database或../../../database

  • 我正在尝试制作一个.jar文件(这是我第一次),我很困惑。我了解如何使用命令提示符创建一个简单的jar文件,但对于我的程序,我导入了JavaMail API和我创建的另一个库(名为ArrayLibrary,其中填充了排序方法)。我如何在一个jar文件中创建这些?

  • 我试图在我的“Java”gradle项目中包含一个本地jar文件。我已经在Project的“main/resource”文件夹中添加了jar文件。在Build.Gradle中添加了以下行:-

  • 问题内容: 我记得前一段时间使用eclipse或netbeans时,我能够轻松地将源文件包含在jar文件中。我已移至intellij 10社区版,发现自己需要做同样的事情。有什么提示吗? 问题答案: 我想到了… 单击“输出布局”选项卡中的“ +”按钮->包含目录内容->选择您的src目录。做到了

  • 问题内容: 大家好,菜鸟Java问题。 我有一个Java项目,并且想在可执行jar中包含一个文本文件。现在,该文本文件位于默认程序包中。 InputFlatFile currentFile =新的InputFlatFile(“ src / theFile.txt”); 正如您使用src所看到的那样,我使用该行抓取文件。但是,这不适用于可执行jar。 有人可以让我知道如何将文件保存在可执行jar中,