Open4
flutter
環境構築
mac m1環境です。(/bin/zsh)
ダウンロードするデータが大きいので有線でやるのがオススメです。
$ sudo softwareupdate --install-rosetta --agree-to-license
- Get the Flutter SDKで「Apple Silicon」の方をダウンロードし解凍
- Flutter SDKを作業ディレクトリ(今回は「$HOME/wk」にしました)に移す
- Flutter SDKにパスを通すために~/.zshrcを下記例のように追記
- exportで環境変数であるPATHに「$HOME/wk/flutter/bin」を追加してます
- source ~/.zshrcで変更を反映する
- xcodeインストール
- android studioインストール
- ios simulatorインストール
- android studioでflutterアプリを新規作成し ios simulatiorとAndroid Emulatorで動くかチェック
- ホットリロードはandroid studioの雷ボタン押すだけ
% vi ~/.zshrc
export PATH=$PATH:$HOME/wk/flutter/bin
- Widget:FlutterのUIを構築しているパーツのこと
- ステートフルウィジェットとステートレスウィジェットに分かれる
- 部品
- MaterialApp:全体のデザインや画面遷移をする場合の状態監視、そして、アプリケーション全体のタイトルやその全体にかかわるプロパティの管理
- Scaffold:メニュー表示方法を含めて画面全体を管理する部品
flutter バージョン
% flutter --version
Flutter 3.0.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision fb57da5f94 (7 weeks ago) • 2022-05-19 15:50:29 -0700
Engine • revision caaafc5604
Tools • Dart 2.17.1 • DevTools 2.12.2
ライブラリ追加
pubspec.yml追記
dependencies:
flutter_audio_recorder: ^0.5.5
ライブラリインストール
pub getでエラー
android studioの「pub get」でインストールしようとしたら下記エラー発生
このライブラリが2年前から更新がないため、androidの対応バージョンが古くエラーになっているものと思われます。いったん別のライブラリを利用することで回避しました。
Running "flutter pub get" in audio_recorder... 2,322ms
The plugin `flutter_audio_recorder` uses a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
minSdkVersionでエラー
AndroidManifest.xmlのminSdkVersionを上げるとエラーが直るらしい。
「flutter.minSdkVersion」を23に変更し解消。
android/app/build.gradle
defaultConfig {
minSdkVersion 23
}
/Users/kz/StudioProjects/audio_recorder/android/app/src/debug/AndroidManifest.xml Error:
uses-sdk:minSdkVersion 16 cannot be smaller than version 18 declared in library [:flutter_sound] /Users/kz/StudioProjects/audio_recorder/build/flutter_sound/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 16
Suggestion: use a compatible library with a minSdk of at most 16,
or increase this project's minSdk version to at least 18,
or use tools:overrideLibrary="com.dooboolab.fluttersound" to force usage (may lead to runtime failures)
FAILURE: Build failed with an exception.
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install /Users/kz/StudioProjects/audio_recorder/build/app/outputs/flutter-apk/app.apk:
Exception occurred while executing 'install':
android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space
at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:557)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:3143)
at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1341)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1303)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:193)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24742)
at android.os.Binder.shellCommand(Binder.java:950)
at and
Error launching application on sdk gphone64 arm64.
対処:
- flutter clean
- Device Manager > wipe data
- Device Manager > 鉛筆ボタン > show advanced settings
- Internal storage 800 → 1200
- studio managed 512 → 1024
- https://www.mechengjp.com/【flutterエラー解決方法】performing-streamed-install-というエラーが出/#wipedataをする
- flutter doctorで✖︎になっているのをインストールする