少しでも早く書けるようにと思いラムダを使えるようにしてみました。
参考サイト
http://qiita.com/NoriakiOshita/items/6ff8c46d2f8d3378dab2
上の記事をそのまま適応させていただいた際に、エラーでひっかかったので、その解決も書きます。
まず、gradle-wrapper.propertiesを書き換えます
1 2 3 4 5 6 |
#Mon Jul 11 11:32:53 JST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip |
次、top-levelのbuild.gradleファイル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { // ここを2.1.0以上にする classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } |
次、app側のbuild.gradle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
apply plugin: 'com.android.application' android { compileSdkVersion 23 // 24.0.0以上にしないとjackoptionが通らない buildToolsVersion "24.0.0" defaultConfig { applicationId "jiji4000.selfmanagement" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" //jackOptionsを加える jackOptions { enabled true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // 1.8にする compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:24.0.0-alpha2' } |
これでラムダが書けるはずですが、syncするとbuildtoolversionが低くて使えんと怒られました。
defaultの設定で外部から参照するようになってなかったぽいです。
以下のように設定を変更します。
メニューから
AndroidStudio→Preferences→Build,Excecution→Gradle
のProjectLevelSettingsをUse default gradle wrapperに変更します。
でもうひとつ起こったのがjackoptionが使えないエラーです。
こちらは、buildtoolsversionを24.0.0以上にすることで解決しました。
これで、ラムダが使えるようになりましたが、
ショートカットオプション的なものが見当たらず、defaultで書いた方が早いかもしれんと思いました。