Open2

Android開発のメモ

やまけんやまけん

趣旨

Android環境の開発Projectを数多くこなしてきました。
ちょっと特殊なモノ(C++とか)も多くて、変わった形状といういかなんというか、昨今のモダンな作りではないなーと思っていたりしています。
Jetpackなどつまみながら
https://developer.android.com/jetpack
アーキテクチャや
https://developer.android.com/jetpack/guide
DIなどにも触れていこうと思います。
https://developer.android.com/training/dependency-injection?hl=ja
テストなどにも手を足したいですね。
(まだネタがまとまってないけど)ようするにアプリをリリースできるようにするのが目標だったりします。
Sarver SideとかNaitive,Kotlin/jsなんかもうち触りたい。

Kotlin向けにとか思っていたのだけどあまり何もできてないです。
とりあえずはAndroid向けって感じで拡張こちらで色々やってみようかなと若干趣旨変更で。

やまけんやまけん

環境設定

若干古いけど、Macの環境設定まとめから移動。
KotlinはとりあえずAndroid Studioを入れれば使えるので....

flutter

https://flutter.dev/docs/get-started/install/macos
に書いてあるとおり

インストール

ダウンロード後

 % cd ~/development
 % unzip ~/Downloads/flutter_macos_1.22.5-stable.zip

環境設定

~/.zshrc
## export PATH="$PATH:`pwd`/flutter/bin"  ## ドキュメントにはこうなってるけど
export PATH="$PATH:`pwd`/development/flutter/bin"  ## こっちが正しい

設定反映のため

% source ~/.zshrc

セットアップ

% flutter doctor
Downloading Dart SDK from Flutter engine ae90085a8437c0ae94d6b5ad2741739ebc742cb4...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  172M  100  172M    0     0   9.8M      0  0:00:17  0:00:17 --:--:-- 10.1M
Building flutter tool...
Downloading Material fonts...                                       0.7s
Downloading package sky_engine...                                   0.2s
Downloading flutter_patched_sdk tools...                            1.3s
Downloading flutter_patched_sdk_product tools...                    1.3s
Downloading darwin-x64 tools...                                     3.6s
Downloading libimobiledevice...                                     0.0s
Downloading usbmuxd...                                              0.0s
Downloading ios-deploy...                                           0.0s
Downloading darwin-x64/font-subset tools...                         0.3s
Downloading android-arm-profile/darwin-x64 tools...                 0.4s
Downloading android-arm-release/darwin-x64 tools...                 0.3s
Downloading android-arm64-profile/darwin-x64 tools...               0.3s
Downloading android-arm64-release/darwin-x64 tools...               0.3s
Downloading android-x64-profile/darwin-x64 tools...                 0.3s
Downloading android-x64-release/darwin-x64 tools...                 0.3s
Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, 1.22.5, on macOS 11.1 20C69 darwin-x64, locale ja-JP)

[] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    ✗ Xcode requires additional components to be installed in order to run.
      Launch Xcode and install additional required components when prompted or run:
        sudo xcodebuild -runFirstLaunch
[!] Android Studio (version 4.1)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[] VS Code (version 1.52.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

を先にインストールしないとだめかな。

Xcodeの部位にある [!]

% sudo xcodebuild -runFirstLaunch

で消えました。

Android Studioの [!]

  • Flutter plugin
  • Dart plugin

をインストールしたが消えず。
https://twitter.com/kosuke_mtm/status/1323662380727898113
で解決できた。

Android StudioでFlutter Projectを作成。

iOS/Androidのエミュレータにて動作は確認。
ここで作成したプロジェクトフォルダーをVSCodeで開くと、Flutter Pluginなどが要求されるのでそれにしたがってインストール。

Android Studioと同じようにエミュレータ起動で動作確認。

Version  があがって

flutter doctorで確認
 Android SDK のLicence認証から

% flutter doctor --android-licenses
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
(以下省略)

Android SDK のAndroid SDK Command Line Toolsをインストールすることで解決できる。

Javaが見つからない問題は、一緒にインストールされたJDKの構成に問題がある模様。

これが良いかわからないけど

$ cd /Applications/Android\ Studio.app/Contents/jre
$ ln -s ../jre jdk
$ ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
$ flutter doctor -v

実機動作確認