查看FlutterActivity 的onCreate方法得知FlutterActivityDelegate中
public void onCreate(Bundle savedInstanceState) {
if(VERSION.SDK_INT >= 21) {
Window window = this.activity.getWindow();
window.addFlags(-2147483648);
window.setStatusBarColor(1073741824);
window.getDecorView().setSystemUiVisibility(1280);
}
所以要自己重置statusBarColor 与 原生保持一致。
@Override
protected void onCreate(Bundle savedInstanceState) {
FlutterMain.startInitialization(getApplicationContext());
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
//必须要重写 FlutterActivityDelegate 会在 onCreate 时 自动设置 statusBarColor,这里我们再手动重置回来。
if(Build.VERSION.SDK_INT >= 21) {
Window window = this.getWindow();
window.setStatusBarColor(-16777216);
window.getDecorView().setSystemUiVisibility(0);
}
registerMethodChannel();
// 获取类名
className = getClass().getSimpleName();
LogUtils.e(className + ".onCreate()");
}
当生成产物时如果build.gradle中 compileSdkVersion与targetSdkVersion 过高则自带动画效果由左向右进入。
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.womai_flutter"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
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
}
}
}
如果不想要动画效果,只需要降低compileSdkVersion与targetSdkVersion。
android {
compileSdkVersion 26
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
// applicationId "com.womai_flutter"
minSdkVersion 16
targetSdkVersion 25
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
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
}
}
}
代码混淆的问题。要注意FLutter代码的混淆问题。如果混淆后可能部分机型安装后,启动应用卡死。
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
https://mqc.aliyun.com
https://deveco.huawei.com
https://dev.mi.com/testit
https://flutter.dev/docs/resources/faq
欢迎爱学习的小伙伴加群一起进步:230274309