我有一个在我的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'
}