gpt4 book ai didi

jar - Android Gradle构建系统:创建Jar非库

转载 作者:行者123 更新时间:2023-12-03 11:58:13 25 4
gpt4 key购买 nike

目前我正在 eclipse 中工作。我想迁移到Android Studio,但是我首先要弄清楚:如何使用新的android构建系统为我的项目创建jar?

我的项目设置为库,但是项目中只有Java文件。我不需要或不想将此导出为库。我想将文件导出为.jar,以便可以轻松将其拖放到另一个项目中。

更新
这是我的gradle文件。我无法添加apply plugin java行,因为它与android插件不兼容。 jar任务已经包含在android插件中。

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}

sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
}
task jar(type: Jar) {
from sourceSets.main.java
}

我将脚本运行为: gradle clean jar
当我运行任务时,什么也没发生……为什么?我想念什么?

更新2

下面是我正在使用的新的gradle构建文件。请注意,由于Android Studio的最新更新,gradle版本已更改。即使使用简单的 clean build,我也会收到此错误: Project directory '<my_workspace_path>\Core2Project\build.gradle' is not a directory. 此错误仅在build studio中发生。从IDE运行时不行。我在另一个项目中也遇到过同样的问题。原来,当我指定要在build studio中使用的文件名时,我会收到此错误。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}

sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
}
}


task jar(type: Jar) {
from android.sourceSets.main.java
}

最佳答案

使用较新版本的gradle和android gradle插件,您只需向build.gradle添加以下内容:

task jar(type: Jar) {
from android.sourceSets.main.java.srcDirs
}

并运行 gradle clean compileReleaseJava jar
在较早版本的gradle插件上,您的 sourceSets元素需要位于 android内:
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}

sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
}
}

然后,您的 jar任务将需要引用 android.sourceSets:
task jar(type: Jar) {
from android.sourceSets.main.java
}

关于jar - Android Gradle构建系统:创建Jar非库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com