如何使用 Gradle 为 Android 项目生成 Eclipse 和 Intellij 项目文件
Is it possible to generate Eclipse and Intellij project files for Android projects using Gradle?
In maven we would do mvn eclipse:eclipse
and in PlayFramework we would do play eclipsify
. Does Gradle have this feature for Android projects?
I have installed Gradle (1.6) and Android SDK Manager (22.0.1) explained here
This is my build.gradle file:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.0'
}
}
apply plugin: 'android'
apply plugin: 'eclipse'
sourceCompatibility = 1.7
version = '1.0.2'
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
buildToolsVersion "17"
compileSdkVersion 8
defaultConfig {
versionCode 1
versionName "1.0"
minSdkVersion 7
targetSdkVersion 8
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
}
And then I run the command:
gradle clean build cleanEclipse eclipse
It builds just fine, but when I import the project into Eclipse it looks like a normal java project.
Anyone know how to get Gradle to create Android specific Eclipse project files?
Is this a prioritized feature by Gradle?
-- UPDATE --
I do believe this is an issue. So I have posted it to the Android Tools team issue #57668. Please star it for them to prioritize the issue :)
-- UPDATE --
It does not look like the Android Tools team are looking into this issue. So for now I have converted to Android Studio where I'm able to import my gradle project with dependencies via the IDE.
解决方案Gradle itself is a generic build tool, it is not created specifically for Android.
All the functionality is enabled using plug-ins. Traditionally, build plug-ins don't generate project structure. That's the job of project specific tools. The Android plug-in for Gradle follows this.
The problem is that current android
tool in SDK generates old type of project structure (ant builds). The new project structure can only be generated via Android Studio.
There is a concept of archetypes in tools like Maven, which allow using project templates. Gradle does not support that yet (requests have been made for this feature).
Refer to this thread: http://issues.gradle.org/browse/GRADLE-1289 , some users have provided scripts to generate structure.
Build Initialization feature is in progress: https://github.com/gradle/gradle/blob/master/design-docs/build-initialisation.md
Hopefully some one can write a script to do that, refer to this guide for new project structure: http://tools.android.com/tech-docs/new-build-system/user-guide
Update
There is now an official Android IDE: Android Studio . It is based on Intellij and the new build system is Gradle based.
相关文章