Gradle のためのツール更新
ADT を 22 にする事に。既知の発生し得る不具合 (?) は以下とのこと。
- SDK Build Tool を導入しないとパケジの Build ができない
- libs に jar を入れて参照してる場合、Build Path の設定変更の必要あり
- Order & Export タブにて Private Libraries のチェックを入れる
後は大丈夫なのかしらん。とりあえずヤッてみます。
ADT 22 に update
- Help -> Check For Update
で、No updates were found. って言われる。StackOverflow によれば Install から云々とありますね。これって一式全部なソレだったからなのかどうなのか。
NDK Plugins 含め 22.2.1 というソレを導入着手。合間を見つつ MBA もなのかどうか。
で、導入終わったら Eclipse 再起動して SDK を update なのか。
SDK 更新
再起動したら親切にダイアログが出てきた。ので、SDK Manager から SDK Tools を更新。更新終了後に Android plug-in の更新があるかどうかについて確認せよ、とダイアログが出てますがここでも No updates were found. でした。
ここから
branch して Gradle を云々してみます。とりあえず
$ brew install gradle
して File -> Export から Android/Generate Gradle build files を選択。対象プロジェクトを選択して作成さあれました。Export なダイアログ (というか wizard?) の最後で以下な記述あり。
Choose 'import project' in Android Studio and select the following file: /Users/yamanetoshi/dev/fugahoge/build.gradle Do NOT import the Eclipse project itself!
とのこと。むむむ。とりあえず未だ Android Studio で云々する予定は無いのでスルー。出力されたのは以下な模様。
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5+' } } apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: 'jar') } android { compileSdkVersion 15 buildToolsVersion "18.1.1" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['src'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build typesor product flavers should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } }
で、Run -> External Tools -> External Tools Configurations を選択して左ペインの Program を右クリックして New を選択し
- Name は GradleBuild とか
- Location は /usr/local/bin/gradle
- Working Directory は ${project_loc} (Variables から選択)
- Arguments は --daemon 入力して ${string_prompt} (Variables から選択)
して Environment タブで
したら保存して close するのか。
実行
結局さっきの実行構成だして Run だったのですが、署名ってどうなってるのかな。一応 BUILD SUCCESSFUL と出ました。で、build/apk の中身を見てみるに *-{debug, relase}-unsigned.apk というファイルが出力されてます。これは署名な設定を build.gradle に追加しなきゃ、なのですね。
以下を追加、なのかどうか。
signingConfigs { debug { storeFile file("debug.keystore") } myConfig } if (project.hasProperty('storeFile')) { android.signingConfigs.myConfig.storeFile = file(storeFile) } if (project.hasProperty('storePassword')) { android.signingConfigs.myConfig.storePassword = storePassword } if (project.hasProperty('keyAlias')) { android.signingConfigs.myConfig.keyAlias = keyAlias } if (project.hasProperty('keyPassword')) { android.signingConfigs.myConfig.keyPassword = keyPassword } buildTypes { debug { signingConfig siginingConfigs.debug } release { signingConfig signingConfigs.myConfig } }
これ、gradle.properties というファイルを追加して以下なカンジにしておいて .gitignore に記述を追加しておくと良いみたい。
storeFile=xxx.keystore storePassword=example keyAlias=example keyPassword=example
とは言え、当座は assembleDebug しない方向ですが。上記を盛り込んで
$ gradle aR
でどうなるか、確認してみたいと思います。何かあれば追記の方向で。
追記
storeFile は自動で ~/.android 配下を探してくれる訳ではないみたいです。絶対パスで記述しないと駄目みたい。build/apk 配下にも unaligned ではない .apk が出てきてます。
つうかこれ、とりあえず
- build.gradle
- gradle.properties
のみ追加、ってことで良いのかな。branch を push して MBA で同じ事をしてみる方向。
batch 実行してみた
以下で。
$ export ANDROID_HOME=/Users/yamanetoshi/dev/android/sdk $ export JAVA_OPTS="-Dgroovy.source.encoding=UTF-8 -Dfile.encoding=UTF-8" $ gradle clean aR
BUILD SUCCESSFUL と出ました。すばら。
update について補足
install new software から出てくるソレで Android Developer Tools Update Site という選択肢があることを今確認してます。だったら update 見つけてくれよ、って思うのですがこのあたりどうなのだろうか。
む
デフォルトで持ってる設定エントリだと ADT の取得に失敗します。やはり何らかの不具合があって No updates were found. だったのだな。