TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

Android Studio 3にアップデート

将棋ソフトの開発ばかりしていたので、しばらくスマホアプリの更新ができていませんでした。
要望はちょくちょくもらっていたのですが、返信もおこたってました・・(・´ω・`)ゞ
時間の使い方を見直して、アプリ開発にも少し時間をとることにしようと思います。

簡単そうな要望を取り込もうと、久しぶりにAndroid Studioを立ち上げたついでにAndroid Sudioをver3にアップデートしました。
ver3でgradleの設定があちこち変わっていて設定の修正だけで結構時間を使ってしまいました。

変更が必要だった設定を残しておきます。

build.gradleのdependenciesの設定

compileが廃止されimplementation に変更された。
compileはまだ使用可能。

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:24.2.1'
    adImplementation 'com.google.android.gms:play-services-ads:9.8.0'
}

flavorDimensions

ビルドバリアントの設定にflavorDimensionsの設定が必須になった。
flavorDimensionsが不要であれば、とりあえず1つ定義しておけばよい。

    flavorDimensions "release"
    productFlavors {
        ad {
            applicationId "xxxxxxad"
            buildConfigField "boolean", "AD", "true"
            dimension "release"
        }
        noad {
            applicationId "xxxxxxnoad"
            buildConfigField "boolean", "AD", "false"
            dimension "release"
        }
    }

依存ライブラリアップデート

ver3とは関係ないが、appcompat-v7とplay-services-adsのアップデートも行った。
ライブラリはアップデートしておかないとサポートが打ち切られるのでリリースのたびに更新するようにしている。

最新のバージョンがいくつなのか調べるには、

    implementation 'com.android.support:appcompat-v7:+'
    adImplementation 'com.google.android.gms:play-services-ads:+'

のようにバージョンを「+」にして、とりあえずプロジェクトを更新して、ProjectビューでExternal Librariesでバージョンを調べて、「+」の部分を固定バージョンに書き換えるとよい。
minSdkVersion 9にしているので、最新のバージョンが使えないので、

    implementation 'com.android.support:appcompat-v7:24.+'
    adImplementation 'com.google.android.gms:play-services-ads:9.+'

のようにメジャーバージョンを最新バージョンから1つずつ減らしてエラーが出ないバージョンを調べた。