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

Gradle(android实验插件)忽略项目依赖项

潘飞英
2023-03-14

我正在以下项目结构中使用Gradle Android实验插件:

Root Project
|-- app
|-- my-library

设置.分级

include ':my-library', ':app'

Build.Gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.0"

        defaultConfig.with {
            applicationId = "a.bundle.id"
            minSdkVersion.apiLevel = 15
            targetSdkVersion.apiLevel = 23
            versionCode = 1
            versionName = "1.0"
        }
    }

    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles += file('proguard-rules.pro')
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile project(':my-library')
}
apply plugin: 'com.android.model.library'

model {
    android {
        compileSdkVersion = 'android-23'
        buildToolsVersion = '23.0.1'

        defaultConfig.with {
            minSdkVersion.apiLevel = 15
        }
    }

    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles += file('proguard-rules.txt')
        }
    }

    android.ndk {
        moduleName = "xxx"
        CFlags += "-I" + "${project.buildDir}".toString() + "/../src/main/jni/libabecs/include"
        CFlags += "-std=gnu99"
    }
    android.sources {
        main {
            jni {
                source {
                    srcDir 'src/main/jni/libxxx/src'
                }
            }
        }
    }
    android.productFlavors {
        create("arm") {
            ndk.abiFilters += "armeabi"
        }
        create("arm7") {
            ndk.abiFilters += "armeabi-v7a"
        }
        create("arm8") {
            ndk.abiFilters += "arm64-v8a"
        }
        create("x86") {
            ndk.abiFilters += "x86"
        }
        create("x86-64") {
            ndk.abiFilters += "x86_64"
        }
        create("mips") {
            ndk.abiFilters += "mips"
        }
        create("mips-64") {
            ndk.abiFilters += "mips64"
        }

        create("all")
    }
}

共有1个答案

邓才
2023-03-14

显然,这是一个Bug/特性,没有在构建插件中实现。

我只找到了一个肮脏的变通方法来直接链接生成的aar。

Build.Gradle(someappname)

repositories {
    flatDir {
        dirs '../my-library/build/outputs/aar'
    }
}

dependencies {
    compile project(':my-library')
    compile(name:'my-library-{flavour}', ext:'aar')
    //the rest
}
 类似资料:
  • 根据我的理解,clean现在将调用clearVersionProperties,war将调用WriteVersionProperties。 但当我执行分级清洁时,Reactor计划看起来是这样的: 为什么要执行clearVersionProperties和writeVersionProperties任务,因为它们绑定到某些构建阶段?例如,不执行任务infoEnv,而是执行任务writeVersio

  • 到 。 让我惊讶的是,通过创建的fat jar不再包含下所需的lib了吗?如果我将“实现”替换为“编译”,它就会像预期的那样工作。 有什么东西需要配置以便spring-boot-plugin添加它们吗?还是需要提前将项目升级到spring Boot2?

  • 忽略依赖项的警告 警告:dependency org.apache.httpcomponents:httpclient:4.0.1在调试时被忽略,因为它可能与Android提供的内部版本冲突。如果有问题,请用jarjar重新打包以更改类包警告:dependency org.apache.httpcomponents:httpclient:4.0.1将被忽略以发布,因为它可能与Android提供的内

  • 本文向大家介绍Android Gradle依赖管理、去除重复依赖、忽略的方式,包括了Android Gradle依赖管理、去除重复依赖、忽略的方式的使用技巧和注意事项,需要的朋友参考一下 常用依赖 库工程依赖传递问题 1、依赖常用的基本类型有:provided和compile,provided 只在编译生效不会打包到 apk 或 aar 中;compile 是会打包到 apk或 aar 中的(如果

  • 我是新手。使用Gradle3.5,我试图从java项目创建一个war构建。下面是我的分级文件内容。 当我生成war构建时,它会在目录下添加jar文件。但是,除了这些jar文件之外,我还需要组中的jar文件和任务中生成的jar文件。我怎样才能做到这一点呢?

  • 问题是gradle找不到依赖项的jar,但gradle找错了地方。Gradle一直在错误的目录(谷歌和Android支持libary的目录)中搜索文件.... 在以下位置搜索:文件:/d://programme/androis-sdks/extras/android/m2repository/org/springframework/android/spring-android-rest-templ