Android Studio 以外で作成されたプロジェクトを AndroidStudio(gradle wrapper) に対応させる

ネット上にたくさんある Androidアプリやライブラリのリソースや
SDK内のサンプルコードとか。

AndroidStudioに簡単にプロジェクトとして
インポートできなかったりしない?

[Android Studio] 既存の Eclipse プロジェクトを Android Studio にインポートする [Android Studio] 既存の Eclipse プロジェクトを Android Studio にインポートする | Developers.IO

Eclipse の export から「Generate Gradle build files」を選択する

てか、Eclipse とかいちいち起動したくなくね?

第59章 Gradleラッパー 第59章 Gradleラッパー

フツーにgitからもってくると、グレーアウトでしょんぼり。

Import_Project

ということで、手動で「Generate Gradle build files」を
やってみます。

gradleのPATHを通す

AndroidStudioにバンドルされているgradleにPATHを通して
ターミナルからコマンドラインで使えるようにします。

export PATH=~/.gradle/wrapper/dists/gradle-1.6-bin/72srdo3a5eb3bic159kar72vok/gradle-1.6/bin:$PATH
$ gradle --version
------------------------------------------------------------
Gradle 1.6
------------------------------------------------------------
Gradle build time: 2013年5月7日 9時12分14秒 UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy: 2.2.0
JVM: 1.6.0_51 (Apple Inc. 20.51-b01-457)
OS: Mac OS X 10.8.4 x86_64

これで、gradle がコマンドラインで使えるようになりました。

gradle(wrapper)関連ファイルたちを作る

AndroidStudioの新規プロジェクト作成したものから
コピーしてきてもいいのかもしれないですが。

project_root
├── AndroidManifest.xml
├── res
└── src

プロジェクトルート直下に、
一時的に build.gradle を以下で作成します。

task wrapper(type: Wrapper) {
    gradleVersion = '1.6'
}

先ほどPATHを通した gradle で一度実行すると
そんなファイルたちが作成されます。

$ gradle wrapper
:wrapper
BUILD SUCCESSFUL
Total time: 4.802 secs

以下、(***)が作成されたファイルたちです。

project_root
├── AndroidManifest.xml
├── build.gradle ###
├── gradle ***
├── gradlew ***
├── gradlew.bat ***
├── res
└── src

これで、プロジェクトディレクトリ内に
gradle関連ファイルが作成されました。

プロジェクトのbuild.gradleを記述する

EclipseとAndroidStudioのデフォルトでは、
ディレクトリ(ファイル)構成が違うので
そこらをbuild.gradleに書いておきます。
wrapperファイル群作成に使ったやつを上書きします。

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

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    sourceSets {
        main {

/*
            // for android studio default
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['src/main/res']
            assets.srcDirs = ['assets']
*/

            // for eclipse
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

}

あとは、このプロジェクトディレクトリをインポートしたり
すでにインポート済みの人は、設定可能になってる
「use gradle wrapper」
をONに設定するだけです。

Preferences

てか、なんでこんなことになってるのか、
あたしがよくわかってないのか、
もうちとどうにかならないものでしょうかー。

android studio "Use gradle wrapper" grayed out - Stack Overflow android studio

バンドルされているgradleが1.7になればもっと簡単になる?

gradle1.7のリリースノート超意訳_-_mike、mikeなるままに…

gradle1.7のリリースノート超意訳 - mike、mikeなるままに… gradle1.7のリリースノート超意訳 - mike、mikeなるままに…

てか、コンソール開いたら負けぢゃんね?w
けど、今は仕方がないのかー。


関連ワード:  AndroidAndroidStudioGradleおすすめツール初心者開発