В настоящее время я работаю в eclipse. Я хочу перейти на Android Studio, но сначала мне нужно понять это: Как создать банку для моего проекта с использованием новой системы сборки Android?
Мой проект настроен как библиотека, но в проекте есть только 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
}
Я запускаю script как:
gradle clean jar
Когда я запускаю задачи, ничего не происходит... Почему? Что мне не хватает?
Обновление 2
Ниже представлен новый файл сборки gradle, который я использую. Обратите внимание на изменение версии gradle из-за последнего обновления Android-студии. Даже с простым clean build
я получаю эту ошибку: Project directory '<my_workspace_path>\Core2Project\build.gradle' is not a directory.
Эта ошибка возникает только в студии сборки. Не когда я бегу из среды IDE. Я столкнулся с этой проблемой и с другим проектом. Оказывается, я получу эту ошибку, когда я укажу имя файла для использования в студии сборки.
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
}