diff --git a/README.en.md b/README.en.md index 940df5da97c6c3efa1670807370ade7f4cd65972..bcdb4a9cdabc974862cfe710b1c5e9c7eda6d20e 100644 --- a/README.en.md +++ b/README.en.md @@ -122,6 +122,9 @@ This repository is a compatible extension of Flutter SDK for the OpenHarmony pla | run | application run | flutter run [--local-engine=\] | | attach | debug mode | flutter attach | | screenshot | screenshot | flutter screenshot | +| pub | download dependency | flutter pub get | +| clean | clear project artifacts | flutter clean | +| cache | clear global cache data | flutter pub cache clean | Attachment: [Flutter third-party library adaptation plan](https://docs.qq.com/sheet/DVVJDWWt1V09zUFN2) @@ -211,7 +214,7 @@ Attachment: [Flutter third-party library adaptation plan](https://docs.qq.com/sh ``` 14. If `flutter pub cache clean` is executed normally, `flutter clean` will report an error. If update command is executed according to the error message, it has no effect。 - 1. Solution:To avoid this problem, comment out the configuration in the build.json5 file。 + 1. Solution:To avoid this problem, comment out the configuration in the build.json5 file: "modules":[{ // Delete the entire object corresponding to the error }] 2. Error message: ``` #Parse ohos module. json5 error: Exception: Can not found module.json5 at diff --git a/README.md b/README.md index e6fd92bdbde30ce3e4ad2c2da6b54a57b301aad9..f61c8da773d4acd4ea7463821a64d63ef9157439 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,9 @@ Flutter SDK 仓库 | run | 应用运行 | flutter run [--local-engine=\<兼容ohos的engine产物路径\>] | | attach | 调试模式 | flutter attach | | screenshot | 截屏 | flutter screenshot | +| pub | 获取依赖 | flutter pub get | +| clean | 清除项目依赖 | flutter clean | +| cache | 清除全局缓存数据 | flutter pub cache clean | 附:[Flutter三方库适配计划](https://docs.qq.com/sheet/DVVJDWWt1V09zUFN2) @@ -212,7 +215,7 @@ Flutter SDK 仓库 ``` 14. 执行`flutter pub cache clean` 正常 执行`flutter clean` 报错,按照报错信息执行 update 命令也没有效果。 - 1. 解决方案:通过注释掉 build.json5 文件中的配置规避。 + 1. 解决方案:通过注释掉 build.json5 文件中的配置规避: "modules":[{ // 删除报错对应的整个对象 }] 2. 报错信息: ``` #Parse ohos module. json5 error: Exception: Can not found module.json5 at diff --git a/bin/internal/engine.ohos.version b/bin/internal/engine.ohos.version index d57635ec41f07bcd76cf504514cde4eaa5eadd66..0797b785cad812ce1f5bdb2888097a9c1c4372ad 100644 --- a/bin/internal/engine.ohos.version +++ b/bin/internal/engine.ohos.version @@ -1 +1 @@ -8ef94277f0029e61ff6a96f630d0f10b60330cd8 \ No newline at end of file +584adb15091363198bd0ae3988ebc195befa6ab0 \ No newline at end of file diff --git a/packages/flutter/lib/src/material/theme_data.dart b/packages/flutter/lib/src/material/theme_data.dart index 44c0d4985574777108dbfc8dd56e44fd218e878b..4b325ac5255daf99d4b32e85f752db83eaf49642 100644 --- a/packages/flutter/lib/src/material/theme_data.dart +++ b/packages/flutter/lib/src/material/theme_data.dart @@ -474,7 +474,7 @@ class ThemeData with Diagnosticable { pageTransitionsTheme ??= const PageTransitionsTheme(); scrollbarTheme ??= const ScrollbarThemeData(); visualDensity ??= VisualDensity.adaptivePlatformDensity; - useMaterial3 = (platform == TargetPlatform.ohos) ? false : (useMaterial3 ?? false); + useMaterial3 = (platform == TargetPlatform.ohos && kDebugMode) ? false : (useMaterial3 ?? false); final bool useInkSparkle = platform == TargetPlatform.android && !kIsWeb; splashFactory ??= useMaterial3 ? useInkSparkle ? InkSparkle.splashFactory : InkRipple.splashFactory @@ -2037,7 +2037,7 @@ class ThemeData with Diagnosticable { platform: platform ?? this.platform, scrollbarTheme: scrollbarTheme ?? this.scrollbarTheme, splashFactory: splashFactory ?? this.splashFactory, - useMaterial3: ((platform ?? this.platform ) == TargetPlatform.ohos) ? false : (useMaterial3 ?? this.useMaterial3), + useMaterial3: ((platform ?? this.platform ) == TargetPlatform.ohos && kDebugMode) ? false : (useMaterial3 ?? this.useMaterial3), visualDensity: visualDensity ?? this.visualDensity, // COLOR canvasColor: canvasColor ?? this.canvasColor, @@ -2237,7 +2237,7 @@ class ThemeData with Diagnosticable { platform: t < 0.5 ? a.platform : b.platform, scrollbarTheme: ScrollbarThemeData.lerp(a.scrollbarTheme, b.scrollbarTheme, t), splashFactory: t < 0.5 ? a.splashFactory : b.splashFactory, - useMaterial3: ((t < 0.5 ? a.platform : b.platform) == TargetPlatform.ohos) ? false : (t < 0.5 ? a.useMaterial3 : b.useMaterial3), + useMaterial3: ((t < 0.5 ? a.platform : b.platform) == TargetPlatform.ohos && kDebugMode) ? false : (t < 0.5 ? a.useMaterial3 : b.useMaterial3), visualDensity: VisualDensity.lerp(a.visualDensity, b.visualDensity, t), // COLOR canvasColor: Color.lerp(a.canvasColor, b.canvasColor, t)!, diff --git a/packages/flutter_tools/lib/src/commands/build_app.dart b/packages/flutter_tools/lib/src/commands/build_app.dart index d91b54c972086d6576ef35621d4052c86e4d138b..7233fe78bf991821fcf6de0eecadbd1fe50cfb5b 100644 --- a/packages/flutter_tools/lib/src/commands/build_app.dart +++ b/packages/flutter_tools/lib/src/commands/build_app.dart @@ -29,6 +29,8 @@ class BuildAppCommand extends BuildSubCommand { addBuildModeFlags(verboseHelp: verboseHelp); usesFlavorOption(); usesPubOption(); + usesBuildNumberOption(); + usesBuildNameOption(); addShrinkingFlag(verboseHelp: verboseHelp); addSplitDebugInfoOption(); addDartObfuscationOption(); diff --git a/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart b/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart index 0a89fe2dd6c1de1d0b04f9aafa7a190d9d7d772f..e4e8e2ddf57b3699a964bf7ac1f81b890b1c2867 100644 --- a/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart +++ b/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart @@ -51,7 +51,7 @@ Future checkOhosPluginsDependencies(FlutterProject flutterProject) async { if (flutterProject.isModule) { dependencies[plugin.name] = 'file:$absolutePath'; } else { - final String relativePath = _relative(absolutePath, from: globals.fs.path.dirname(packageFile.path)); + final String relativePath = globals.fs.path.relative(absolutePath, from: globals.fs.path.dirname(packageFile.path)); dependencies[plugin.name] = 'file:$relativePath'; } } @@ -86,14 +86,13 @@ Future addPluginsModules(FlutterProject flutterProject) async { } modules.add({ 'name': plugin.name, - 'srcPath': _relative( - globals.fs.path.join(plugin.path, OhosPlugin.kConfigKey), - from: flutterProject.ohos.ohosRoot.path, - ), + 'srcPath': globals.fs.path.join(plugin.path, OhosPlugin.kConfigKey), 'targets': >[ { 'name': 'default', - 'applyToProducts': ['default'] + 'applyToProducts': [ + 'default' + ] } ], }); @@ -120,12 +119,9 @@ Future addFlutterModuleAndPluginsSrcOverrides(FlutterProject flutterProjec final Map overrides = config['overrides'] as Map? ?? {}; for (final Plugin plugin in plugins) { - overrides[plugin.name] = _relative( - globals.fs.path.join(plugin.path, OhosPlugin.kConfigKey), - from: flutterProject.ohos.ohosRoot.path, - ); + overrides[plugin.name] = globals.fs.path.join(plugin.path, OhosPlugin.kConfigKey); } - final String relativePath = _relative(flutterProject.ohos.flutterModuleDirectory.path, from: flutterProject.ohos.ohosRoot.path); + final String relativePath = globals.fs.path.relative(flutterProject.ohos.flutterModuleDirectory.path, from: flutterProject.ohos.ohosRoot.path); overrides['@ohos/flutter_module'] = 'file:./$relativePath'; overrides['@ohos/flutter_ohos'] = 'file:./har/flutter.har'; final String configNew = const JsonEncoder.withIndent(' ').convert(config); @@ -193,7 +189,3 @@ Future addFlutterModuleAndPluginsOverrides(FlutterProject flutterProject) final String configNew = const JsonEncoder.withIndent(' ').convert(config); packageFile.writeAsStringSync(configNew, flush: true); } - -String _relative(String path, {String? from}) { - return globals.fs.path.relative(path, from: from).replaceAll(r'\', '/'); -}