在Android和Java后端之间共享一个java库(gradle)

时间:2017-04-02 20:32:42

标签: java intellij-idea gradle

我有一个在我的Android应用程序中运行良好的库(它不是作为jar导出的,而是作为android项目的一部分包含)。 我现在正在开发后端,并希望将该特定库用于我的Java后端。

两者都是java 1.8。我在Android世界以及Java(PC)世界中使用gradle。

对于Android我使用Android工作室(最新)。对于PC,我正在使用IDEA社区版(2017年版)。

当将java库包含到PC gradle项目中时,gradle(版本3.3)抱怨Android相关内容(例如找不到SDK位置,设置ANDROID_HOME等)。

我想获得Java后端应用程序(PC版本,我称之为) - 完全忽略android事物 - 无需创建库的另一个副本或库的另一个build.gradle。

换句话说,我需要的只有两件事是

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.google.code.gson:gson:2.8.0'
}

这可能吗?

这是我试图分享的库的build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:2.3.0"
        classpath "me.tatarka:gradle-retrolambda:3.6.0"
    }
}

allprojects {
        repositories {
            jcenter()
        }

        logger.quiet('showing env var in mysharedlib root gradle.')
        buildDir = "${System.getenv('HOME')}/tmp/${rootProject.name}/${project.name}"
}


apply plugin: 'com.android.library'
apply plugin: 'me.tatarka.retrolambda'

android {
    compileSdkVersion 23
    buildToolsVersion "25.0.1"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile 'junit:junit:4.12'
    compile 'com.google.code.gson:gson:2.8.0'
}

0 个答案:

没有答案