facebook twitter hatena line email

「Flutter/開発環境構築」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(androidのaab対応)
 
(同じ利用者による、間の10版が非表示)
行1: 行1:
==AndroidStudioのインストール==
+
[[Flutter/開発環境構築/共通]]
https://developer.android.com/studio/install?hl=ja
+
  
==AndroidStudioのプラグインインストール==
+
[[Flutter/開発環境構築/android]]
AndroidStudio/Preference/PluginsからFlutter、Dartを検索してインストール
+
  
==プロジェクト作成==
+
[[Flutter/開発環境構築/ios]]
File/New Flutter Project がFile/New Projectの下に表示されるはずなので、そこから作成。
+
 
+
"New Flutter Project"が出ない場合は以下コマンドでプロジェクトを作ってAndroidStudioで開けば良い。
+
flutter create my_app
+
cd my_app
+
flutter run
+
 
+
==ios実行準備==
+
xcode-select --install
+
brew update
+
brew install --HEAD usbmuxd
+
brew link usbmuxd
+
brew install --HEAD libimobiledevice
+
brew install ideviceinstaller
+
brew install ios-deploy
+
 
+
==android・ios実行==
+
*上部中央に実行ボタンがあるので、そこから実行できる。
+
*接続したandroid・iPhoneの端末が表示される
+
*基本hotreloadで2秒で更新が反映される。
+
 
+
==androidのapk作成&インストール==
+
flutter build apk
+
flutter install
+
↑はリリースビルドで、リリースビルドのときはデバッグビルド(1秒程度)と比べて起動速度が速い。
+
build/app/outputs/apk/release/app-release.apk
+
 
+
==iosのipaファイル作成&インストール==
+
flutter build ios
+
flutter install
+
 
+
==androidパッケージ名変更==
+
*android/app/src/main/AndroidManifest.xml
+
*android/app/build.gradle
+
*android/app/src/profile/AndroidManifest.xml
+
*android/app/src/debug/AndroidManifest.xml
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+
    package="com.example1.hoge">
+
*android/app/src/main/com/example1/hoge/MainActivity.java
+
package com.example1.hoge;
+
2箇所変更とMainActivity.javaのdir変更
+
 
+
==iosのbundleId変更==
+
*ios/Runner.xcodeprojを開いてbundleIdを変更する
+
*podを使っていれば、コンソールでiosの下で、"pod update"を実行後ios/Runner.xcworkspaceを開いてbundleIdを変更する
+
 
+
==androidのkeystore付きapk作成==
+
#keystoreを作っておく
+
#android/key.properties を作成
+
storePassword=パスを入れる
+
keyPassword=パスを入れる
+
keyAlias=key
+
storeFile=keystoreのパスを入れる・・・key.jks
+
 
+
#android/app/build.gradle を追加する
+
+def keystorePropertiesFile = rootProject.file("key.properties")
+
+def keystoreProperties = new Properties()
+
+keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
+
+
android {
+
 
+
#android/app/build.gradle の部分を修正
+
<pre>
+
-buildTypes {
+
-    release {
+
-        // TODO: Add your own signing config for the release build.
+
-        // Signing with the debug keys for now, so `flutter run --release` works.
+
-        signingConfig signingConfigs.debug
+
-    }
+
-}
+
+signingConfigs {
+
+    release {
+
+        keyAlias keystoreProperties['keyAlias']
+
+        keyPassword keystoreProperties['keyPassword']
+
+        storeFile file(keystoreProperties['storeFile'])
+
+        storePassword keystoreProperties['storePassword']
+
+    }
+
+}
+
+buildTypes {
+
+    release {
+
+        signingConfig signingConfigs.release
+
+    }
+
+}
+
</pre>
+
 
+
参考:https://qiita.com/rkowase/items/f1012ef0738791dd6084
+
 
+
==Androidで64 ビット要件に準拠していませんが表示された場合==
+
このリリースは Google Play の 64 ビット要件に準拠していません
+
flutter build apk --release --target-platform=android-arm64
+
 
+
もしくは、
+
 
+
build.gradle
+
buildTypes {
+
      release {
+
            ndk{
+
                    abiFilters "x86", "arm64-v8a", "android-arm64"
+
            }
+
        }
+
}
+
 
+
参考:https://github.com/flutter/flutter/issues/18494
+
 
+
===ビルドは成功するが起動時に落ちてcouldn't find "libflutter.so"エラーが出る場合===
+
上の項目のndkにabiFiltersが追加されてるかを確認
+
$ flutter build apk --release
+
releaseをつけてapkを作成する
+
 
+
===abiFiltersで指定したものの確認===
+
$ flutter build apk --release
+
apkをunzipで解凍して確認
+
unzip build/app/outputs/apk/release/app-release.apk
+
ls lib/arm64-v8a/libflutter.so
+
ls lib/armeabi-v7a/libflutter.so
+
 
+
参考:https://qiita.com/mkosuke/items/afa40c09078285034799
+
 
+
==Androidのversion記述場所==
+
pubspec.yaml
+
version: 1.0.1+2
+
 
+
$ flutter build apk
+
 
+
以下ファイルが以下の通り出力されればよい。
+
 
+
android/local.properties
+
flutter.versionName=1.0.1
+
flutter.versionCode=2
+
 
+
==公式androidの64bit対応方法==
+
https://developer.android.com/distribute/best-practices/develop/64-bit
+
===64bit対応済み判定===
+
#androidStudioでBuild/ApkAnalyzeでapkファイルを指定
+
#libの下に以下dirがあれば良い。
+
arm64-v8a
+
x86_64
+
==="このリリースは Google Play の 64 ビット要件に準拠していません"が出る場合===
+
flutter upgrade
+
flutter --version
+
Flutterのバージョンを1.7以上へ
+
 
+
https://algorithm.joho.info/flutter/flutter-erroe-google-play-64bit/
+
 
+
==androidのaab対応==
+
flutterの1.7でaab対応
+
flutter upgrade
+
flutter --version
+
 
+
apkからappbundleにするだけ
+
flutter build apk --release
+
+
flutter build appbundle --release
+
出力先、build/app/outputs/bundle/release/app.aab
+

2019年11月13日 (水) 18:19時点における最新版

Flutter/開発環境構築/共通

Flutter/開発環境構築/android

Flutter/開発環境構築/ios