自宅のアプリ改修を行うにあたり、
開発環境のバージョンアップを行う。
バージョンアップ対象は下記赤マーカのAGP(Android Gradle Plugin)とGradle、JDKのバージョンアップを行う。
アプリ1もアプリ2もバージョンアップの手順は同じのため、
アプリ1の手順だけ載せてます。
■既存バージョンとバージョンアップ先
Android OS | API | SDK | Flutter | AGP | Gradle | JDK | |
アプリ1 | 9.0 | 28 | 28 | 2.10.0→3.7.12 | 4.1.0→8.4 | 6.7→8.6 | 1.8→17 |
アプリ2 | 10.0 | 29 | 29 | 2.10.0→3.7.12 | 4.1.0→8.4 | 6.7→8.6 | 1.8→17 |
■参考にした公式ドキュメント
・Android OSとAPIレベルの対応
https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ja#api-level-table
・Android GradleプラグインとGraidleバージョンの対応
https://developer.android.com/studio/releases?hl=ja#api-level-support
https://developer.android.com/build/releases/gradle-plugin?hl=ja
・Androidとjavaの対応
https://developer.android.com/build/jdks?hl=ja
■参考にした個人ブログ
https://perfectflutter.com/436/flutter%E3%81%A8jdk%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3-%E4%B8%80%E7%B7%92%E3%81%AB%E5%83%8D%E3%81%8F%E6%96%B9%E6%B3%95/
https://techracho.bpsinc.jp/kawawa/2024_02_16/139435
1.エミュレータの作成
1.エミュレータの作成
2.左枠の「Legacy」タブを選択し、[3.2″ QVGA (ADP2)]をクリックし[次へ]を押下。
※動作想定の画面にあったものを選択ください。
3.Releases Name「Q」の横の[↓]を押下してimageをダウンロード後、[次へ]を押下。
4.[完了]を押下。
5.[3.2″ QVGA (ADP2) API29]が作成されていることを確認。
2.gradleのバージョンアップ
1.androidエミュレータで動かしたいソースをローカルに配置する。
手順ではC:\flutter_localフォルダを作成し「app1」を動かす。
2.vscodeにて[ファイル] – [フォルダーを開く]を押下
3.「C:\flutter_local\app1」を選択し[フォルダーの選択]を押下。
4.「<プロジェクト>\android\build.gradle」ファイルの変更
※変更した後のファイルを添付しました。
変更前
classpath 'com.android.tools.build:gradle:4.1.0'
変更後
classpath 'com.android.tools.build:gradle:8.4.2'
変更前
subprojects {
project.evaluationDependsOn(':app')
}
変更後
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
afterEvaluate {
// check if android block is available
if (it.hasProperty('android')) {
if (it.android.namespace == null) {
def manifest = new XmlSlurper().parse(file(it.android.sourceSets.main.manifest.srcFile))
def packageName = manifest.@package.text()
println("Setting ${packageName} as android namespace")
android.namespace = packageName
}
def javaVersion = JavaVersion.VERSION_17
android {
def androidApiVersion = 29
compileSdkVersion 34
defaultConfig {
targetSdkVersion androidApiVersion
}
compileOptions {
sourceCompatibility javaVersion
targetCompatibility javaVersion
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = javaVersion.toString()
}
}
println("Setting java version to ${javaVersion.toString()} which is $javaVersion")
println("Setting compileSdkVersion and targetSdkVersion to $androidApiVersion")
}
}
}
}
subprojects {
project.evaluationDependsOn(':app')
}
5.「<プロジェクト>\android\app\build.gradle」ファイルの変更
※変更した後のファイルを添付しました。
namespace 'com.app1'
↑新規追記(下記ファイルのpackageの内容)
「<プロジェクト>\android\app\src\main\AndroidManifest.xml」
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app1">
変更前
compileSdkVersion flutter.compileSdkVersion
変更後
compileSdkVersion 34
変更前
targetSdkVersion flutter.targetSdkVersion
変更後
targetSdkVersion 29
変更前
jvmTarget = '1.8'
変更後
jvmTarget = '17'
下記の通り変更(AndroidManifest.xmlのpackageの内容)
applicationId "com.app1"
6.「<プロジェクト>\android\gradle\wrapper\gradle-wrapper.properties」ファイルの変更
※変更した後のファイルを添付しました。
変更前
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
変更後
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
3.Casioをエミュレータで実行
1.ターミナルにて下記コマンドを実施
fvm use 3.7.12
fvm flutter pub cache repair
fvm flutter clean
fvm flutter pub get
2.Vscodeを一度閉じて、再度開く
3.画面左の「main.dart」をダブルクリック
4.画面右下の「{}Dart」の右横をクリックして、「3.2″ QVGA (ADP2) API 29」を選択
5.モバイルの画面が表示される。※初回起動時は遅い。
6.[Start Debugging]or[Run Without Debgging]を押下
7.モバイルの画面に表示される。