相关疑难解决方法(0)

使用gradle未解析aar库的传递依赖性

我已经调查了一段时间,可能看到这里最流行的答案与aartransitive依赖关系有关,但不知何故,我仍然不清楚如何使这个工作.

所以:

我有给定gradle配置的android库:

apply plugin: 'android-library'
apply plugin: 'android-maven'

version = "1.0.0"
group = "com.somepackage"

buildscript {
    repositories {
        mavenCentral()
        mavenLocal()
    }

    dependencies {
        classpath 'com.github.dcendents:android-maven-plugin:1.0'
    }
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    defaultConfig {
        minSdkVersion 10
    }
}

repositories {
    maven { url 'http://www.bugsense.com/gradle/' }
}

dependencies {
    provided 'com.google.android.gms:play-services:+'
    provided 'com.android.support:appcompat-v7:+'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.bugsense.trace:bugsense:3.6'
    compile 'commons-net:commons-net:3.3'
}
Run Code Online (Sandbox Code Playgroud)

然后我将它部署到本地maven repo gradle install.部署库的POM文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sprezzat</groupId> …
Run Code Online (Sandbox Code Playgroud)

java android gradle android-library aar

84
推荐指数
5
解决办法
4万
查看次数

AAR可以包含传递依赖吗?

所以,现在我有一个图书馆项目,说项目public static取决于像这样的图书馆public static.

现在,它public static有一个maven buildstep,可以生成AAR并将其推送到公共场所.

所以现在让我说我有项目B,我们会称之为public static.Bar是一个Android应用程序,public static依赖于public static.

好吧,我有.但是,当我从该调用中调用public static函数时,我收到以下消息:public staticpublic staticpublic static

java.lang.NoClassDefFoundError: com.squareup.okhttp.OkUrlFactory
            at com.foo.sdk.utils.OkHttpStack.<init>(OkHttpStack.java:15)
Run Code Online (Sandbox Code Playgroud)

那么,这样的事情可能吗?或者public static需要手动依赖public static以及任何其他依赖项public static

android gradle maven android-studio android-gradle-plugin

61
推荐指数
1
解决办法
2万
查看次数

Android Studio包含目录中的所有aar文件

我正在为一个框架编写一个构建系统,可以通过用户(开发人员)的插件进行扩展.我的问题是我不能用掩码包含所有的aar文件.例如,我可以包含所有这样的jar文件:

compile fileTree(dir: 'libs', include: '*.jar')
Run Code Online (Sandbox Code Playgroud)

但如果我包含所有这样的aar文件:

compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Only Jar-type local dependencies are supported. Cannot handle: /path/to/file.aar
Run Code Online (Sandbox Code Playgroud)

但是,可以单独包含每个文件,如下所示:

compile (name:'myfile', ext:'aar')
Run Code Online (Sandbox Code Playgroud)

作为一种解决方法,在构建期间,我将需要列出'libs'目录中的文件,手动将所有库插入我的build.gradle并保持同步(或每次重写).这是一种做法的hackish方式,因此我想知道是否有更好的方法.也许有一个gradle脚本可以自动执行或者一些gradle beta支持这个:

compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin

5
推荐指数
1
解决办法
1万
查看次数