コードを触っている間に環境がおかしな状態になったのでプロジェクトを再作成する方法を整理しておく。
開発環境が古くなったり、プロジェクトが破損してしまった場合にも有用。
プロジェクトによって追加設定が必要になるケースがあると思うが、基本的にはこれで構築できる。
この方法がベストではないかもしれないけど困った時の方法としてメモしておく。
⚫︎手順
- 新しい Flutter プロジェクトを作成(今までとは別のフォルダに作成)
flutter create new_project
- 古いプロジェクトから必要なフォルダをコピー
・lib
・assets
・fonts など
cp -r old_project/lib new_project/
cp -r old_project/assets new_project/
cp -r old_project/fonts new_project/
- pubspec.yaml の移行(編集)
古いpubspec.yamlファイルから新しいを古いファイルから編集する
・dependencies
・assets
・fonts など
- Firebase情報を移行(Firebase利用時)
cp old_project/android/app/google-services.json new_project/android/app/
cp old_project/ios/Runner/GoogleService-Info.plist new_project/ios/Runner/
- AndroidManifest.xml (
android/app/src/main/AndroidManifest.xml
)の設定内容を移行(編集)
必要に応じて、内容は見直すこと。パーミッションやメタデータの内容確認も行うこと
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
- MainActivity.java / MainActivity.kt の設定内容を移行(編集)
Java :android/app/src/main/java/com/example/yourapp/MainActivity.java
Kotlin:android/app/src/main/kotlin/com/example/yourapp/MainActivity.kt
import io.flutter.embedding.android.FlutterActivity;
public class MainActivity extends FlutterActivity {
}
- gradle.properties(android/gradle.properties) の設定内容を移行(編集)
android.useAndroidX=true
android.enableJetifier=true
- build.gradle(android/app/build.gradle) の設定内容を移行(編集)
必要に応じて。
dependencies {
implementation 'com.google.firebase:firebase-analytics:21.5.0'
implementation 'com.google.android.gms:play-services-auth:20.7.0'
}
- Flutter Clean とビルド
flutter clean
flutter pub get
flutter build apk
以上。
ちなみに、Androidの設定関連で困った場合は、Androidフォルダ配下を削除して再作成・設定する方法もある。
以下のコマンドでAndroidフォルダが再作成されるので、上記の項番4以降のファイル編集を行う。
rm -rf android
flutter create .