android - 在 Android Studio 的子模块上运行时移除 jar

标签 android jar gradle runtimeexception amazon-device-messaging

我有三个用于项目(项目 build.gradle)的 build.gradle 文件,一个用于主模块(main build.gradle),一个用于另一个子模块(submodule build.gradle)

我的子模块 build.gradle使用 ADM(亚马逊设备消息)。因此附加了以下依赖项。

使用对主 build.gradle 提供的依赖项可以工作,但如果我将它添加到子模块,它就不起作用。如果打开,则以下工作

主构建.gradle

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    compile fileTree(dir: 'libs', exclude: 'amazon-device-messaging-1.0.1.jar', include: '*.jar')
    provided files('libs/amazon-device-messaging-1.0.1.jar')
}

我尝试过的
  • 将以下内容添加到 子模块 build.gradle (仍然得到运行时异常)
    configurations {
        provided
    }
    sourceSets {
    main {
        compileClasspath += configurations.provided
    }
    test {
        compileClasspath += configurations.provided
        }
    }
    
    sourceSets.main.compileClasspath += configurations.provided
    
    dependencies {
    provided files('libs/amazon-device-messaging-1.0.1.jar')
    }
    

  • 注意:我也将提供更改为诸如提供库之类的自定义内容,但它仍然无法正常工作
  • 将以下内容添加到 子模块 build.gradle 文件(运行时异常仍然)
    android.libraryVariants.all { 
    variant -> variant.packageLibrary.exclude( 'ext_libs/amazon-device-messaging-1.0.1.jar' )
    }
    
  • 将以下内容添加到 子模块 build.gradle 文件(我什至不能用这个家伙编译 - 我猜它在构建过程中也会删除)
    android.libraryVariants.all { variant ->
        variant.outputs.each { output ->
            output.packageLibrary.exclude('libs/someLib.jar')
        }
    }
    
  • 最佳答案

    有效的是将依赖项添加到 maven 存储库并将其包含在具有提供的依赖项的库中

    关于android - 在 Android Studio 的子模块上运行时移除 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29505461/

    相关文章:

    java - 在 javax.json.spi.JsonProvider.provider(JsonProvider.java :97)) 找不到提供者 org.glassfish.json.JsonProviderImpl

    Android Studio/Gradle 构建问题

    android - 我应该在依赖项中使用什么版本的 recyclerview?

    css - Android WebView 边界半径别名

    android - Room - 如何通过迁移首次显式创建所有表?

    android - 向 Android 中的每个用户发送推送通知

    java - 如何在Eclipse IDE中的Apache Tomcat服务器中部署创建的.jar文件?

    android - 截断 Android TextView 的内容以适应宽度

    java - 从 Windows 批处理文件中自行删除 jar

    android - 开源一个 android studio 库项目并允许其他人作为 gradle 依赖项包含在内