.env
파일을 추가한 후 다음과 같이 숨기고 싶은 api 키를 넣어준다.appKey = "어쩌구저쩌구앱키"
.gitignore
에 다음 한줄을 추가한다..env*
$ flutter pub add flutter_config
void main() async {
WidgetsFlutterBinding.ensureInitialized(); // 추가
await FlutterConfig.loadEnvVariables(); // 추가
runApp(const MyApp());
}
android/app/build.gradle
에 다음 코드를 찾는다.from: project(':flutter_config').projectDir.getPath() + "/dotenv.gradle"
FlutterConfig.get('숨긴키변수명')
를 사용하여 숨긴 key를 사용할 수 있다.void main() async {
WidgetsFlutterBinding.ensureInitialized();
await FlutterConfig.loadEnvVariables();
KakaoSdk.init(nativeAppKey: FlutterConfig.get('appKey'));
runApp(const MyApp());
}
FlutterConfig Variables are Empty
Ensure you have a .env file and you
have loaded the variables
구글링을 아무리 해봐도 원인을 찾기 힘들어 다음의 [방법2]를 사용하여 해결했다.
https://www.geeksforgeeks.org/how-to-add-env-file-in-flutter/
위 글을 그대로 따라했다.
.env
파일을 추가한 후 다음과 같이 숨기고 싶은 api 키를 넣어준다.appKey = "어쩌구저쩌구앱키"
$ flutter pub add flutter_dotenv
pubspec.yaml
의 asset부분에 다음과 같이 추가해준다.assets:
.env # path to your .env file
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await dotenv.load(fileName: ".env"); // 추가
runApp(const MyApp());
}
dotenv.env['appKey']
방식으로 사용하면 된다.void main() async {
WidgetsFlutterBinding.ensureInitialized();
await dotenv.load(fileName: ".env"); // .env 파일 Path
KakaoSdk.init(nativeAppKey: dotenv.env['appKey']);
runApp(const MyApp());
}
참고
https://florescene.tistory.com/189
https://www.geeksforgeeks.org/how-to-add-env-file-in-flutter/