Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
a05803a0
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a05803a0
编写于
10月 10, 2019
作者:
D
Dan Field
提交者:
GitHub
10月 10, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Android targets create final zip artifacts (#13059)
上级
d9080029
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
334 addition
and
135 deletion
+334
-135
build/zip.py
build/zip.py
+37
-0
build/zip_bundle.gni
build/zip_bundle.gni
+54
-0
shell/platform/android/BUILD.gn
shell/platform/android/BUILD.gn
+197
-119
sky/dist/BUILD.gn
sky/dist/BUILD.gn
+26
-3
tools/gen_javadoc.py
tools/gen_javadoc.py
+20
-13
未找到文件。
build/zip.py
0 → 100755
浏览文件 @
a05803a0
#!/usr/bin/env python
# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import
argparse
import
zipfile
import
os
import
sys
def
_zip_dir
(
path
,
zip_file
,
prefix
):
path
=
path
.
rstrip
(
'/
\\
'
)
for
root
,
dirs
,
files
in
os
.
walk
(
path
):
for
file
in
files
:
zip_file
.
write
(
os
.
path
.
join
(
root
,
file
),
os
.
path
.
join
(
root
.
replace
(
path
,
prefix
),
file
))
def
main
(
args
):
zip_file
=
zipfile
.
ZipFile
(
args
.
output
,
'w'
,
zipfile
.
ZIP_DEFLATED
)
for
path
,
archive_name
in
args
.
input_pairs
:
if
os
.
path
.
isdir
(
path
):
_zip_dir
(
path
,
zip_file
,
archive_name
)
else
:
zip_file
.
write
(
path
,
archive_name
)
zip_file
.
close
()
if
__name__
==
'__main__'
:
parser
=
argparse
.
ArgumentParser
(
description
=
'This script creates zip files.'
)
parser
.
add_argument
(
'-o'
,
dest
=
'output'
,
action
=
'store'
,
help
=
'The name of the output zip file.'
)
parser
.
add_argument
(
'-i'
,
dest
=
'input_pairs'
,
nargs
=
2
,
action
=
'append'
,
help
=
'The input file and its destination location in the zip archive.'
)
sys
.
exit
(
main
(
parser
.
parse_args
()))
build/zip_bundle.gni
0 → 100644
浏览文件 @
a05803a0
# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//flutter/common/config.gni")
if (flutter_runtime_mode == "jit_release") {
android_zip_archive_dir = "android-$target_cpu-jit-release"
} else {
android_zip_archive_dir = "android-$target_cpu"
}
# Creates a zip file in the $root_build_dir/zip_archives folder.
#
# The output variable specifies the name of the zip file to create.
# The files variable is an array of scopes that specify a source file or
# directory and a destination path in the archive to create.
#
# For example, to create a zip file named archive.zip with all files in the
# root directory of the archive:
#
# zip_bundle("sample") {
# output = "archive.zip"
# files = [
# {
# source = "$root_build_dir/some/path/to/lib.so"
# destination = "lib.so"
# },
# {
# source = "$root_build_dir/some/other/path/with/files"
# destination = "other_files"
# },
# ]
# }
template("zip_bundle") {
assert(defined(invoker.output), "output must be defined")
assert(defined(invoker.files), "files must be defined as a list of scopes")
action(target_name) {
script = "//flutter/build/zip.py"
outputs = [ "$root_build_dir/zip_archives/${invoker.output}" ]
inputs = []
deps = invoker.deps
args = [ "-o", rebase_path(outputs[0]) ]
foreach(input, invoker.files) {
args += [
"-i",
rebase_path(input.source),
rebase_path(input.destination),
]
inputs += [ input.source ]
}
}
}
shell/platform/android/BUILD.gn
浏览文件 @
a05803a0
...
...
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//build/config/android/config.gni")
import("//flutter/build/zip_bundle.gni")
import("$flutter_root/common/config.gni")
import("$flutter_root/shell/config.gni")
import("$flutter_root/shell/gpu/gpu.gni")
...
...
@@ -115,6 +116,125 @@ embedding_jar_path = "$root_out_dir/$embedding_jar_filename"
embedding_sources_jar_filename = "$embedding_artifact_id-sources.jar"
embedding_source_jar_path = "$root_out_dir/$embedding_sources_jar_filename"
android_java_sources = [
"io/flutter/Log.java",
"io/flutter/app/FlutterActivity.java",
"io/flutter/app/FlutterActivityDelegate.java",
"io/flutter/app/FlutterActivityEvents.java",
"io/flutter/app/FlutterApplication.java",
"io/flutter/app/FlutterFragmentActivity.java",
"io/flutter/app/FlutterPluginRegistry.java",
"io/flutter/embedding/android/AndroidKeyProcessor.java",
"io/flutter/embedding/android/AndroidTouchProcessor.java",
"io/flutter/embedding/android/DrawableSplashScreen.java",
"io/flutter/embedding/android/FlutterActivity.java",
"io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java",
"io/flutter/embedding/android/FlutterActivityLaunchConfigs.java",
"io/flutter/embedding/android/FlutterEngineConfigurator.java",
"io/flutter/embedding/android/FlutterEngineProvider.java",
"io/flutter/embedding/android/FlutterFragment.java",
"io/flutter/embedding/android/FlutterFragmentActivity.java",
"io/flutter/embedding/android/FlutterSplashView.java",
"io/flutter/embedding/android/FlutterSurfaceView.java",
"io/flutter/embedding/android/FlutterTextureView.java",
"io/flutter/embedding/android/FlutterView.java",
"io/flutter/embedding/android/SplashScreen.java",
"io/flutter/embedding/android/SplashScreenProvider.java",
"io/flutter/embedding/engine/FlutterEngine.java",
"io/flutter/embedding/engine/FlutterEngineAndroidLifecycle.java",
"io/flutter/embedding/engine/FlutterEngineCache.java",
"io/flutter/embedding/engine/FlutterEnginePluginRegistry.java",
"io/flutter/embedding/engine/FlutterJNI.java",
"io/flutter/embedding/engine/FlutterShellArgs.java",
"io/flutter/embedding/engine/dart/DartExecutor.java",
"io/flutter/embedding/engine/dart/DartMessenger.java",
"io/flutter/embedding/engine/dart/PlatformMessageHandler.java",
"io/flutter/embedding/engine/plugins/FlutterPlugin.java",
"io/flutter/embedding/engine/plugins/PluginRegistry.java",
"io/flutter/embedding/engine/plugins/activity/ActivityAware.java",
"io/flutter/embedding/engine/plugins/activity/ActivityControlSurface.java",
"io/flutter/embedding/engine/plugins/activity/ActivityPluginBinding.java",
"io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverAware.java",
"io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverControlSurface.java",
"io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverPluginBinding.java",
"io/flutter/embedding/engine/plugins/contentprovider/ContentProviderAware.java",
"io/flutter/embedding/engine/plugins/contentprovider/ContentProviderControlSurface.java",
"io/flutter/embedding/engine/plugins/contentprovider/ContentProviderPluginBinding.java",
"io/flutter/embedding/engine/plugins/service/ServiceAware.java",
"io/flutter/embedding/engine/plugins/service/ServiceControlSurface.java",
"io/flutter/embedding/engine/plugins/service/ServicePluginBinding.java",
"io/flutter/embedding/engine/plugins/shim/ShimPluginRegistry.java",
"io/flutter/embedding/engine/plugins/shim/ShimRegistrar.java",
"io/flutter/embedding/engine/renderer/FlutterRenderer.java",
"io/flutter/embedding/engine/renderer/FlutterUiDisplayListener.java",
"io/flutter/embedding/engine/renderer/RenderSurface.java",
"io/flutter/embedding/engine/systemchannels/AccessibilityChannel.java",
"io/flutter/embedding/engine/systemchannels/KeyEventChannel.java",
"io/flutter/embedding/engine/systemchannels/LifecycleChannel.java",
"io/flutter/embedding/engine/systemchannels/LocalizationChannel.java",
"io/flutter/embedding/engine/systemchannels/NavigationChannel.java",
"io/flutter/embedding/engine/systemchannels/PlatformChannel.java",
"io/flutter/embedding/engine/systemchannels/PlatformViewsChannel.java",
"io/flutter/embedding/engine/systemchannels/SettingsChannel.java",
"io/flutter/embedding/engine/systemchannels/SystemChannel.java",
"io/flutter/embedding/engine/systemchannels/TextInputChannel.java",
"io/flutter/plugin/common/ActivityLifecycleListener.java",
"io/flutter/plugin/common/BasicMessageChannel.java",
"io/flutter/plugin/common/BinaryCodec.java",
"io/flutter/plugin/common/BinaryMessenger.java",
"io/flutter/plugin/common/ErrorLogResult.java",
"io/flutter/plugin/common/EventChannel.java",
"io/flutter/plugin/common/FlutterException.java",
"io/flutter/plugin/common/JSONMessageCodec.java",
"io/flutter/plugin/common/JSONMethodCodec.java",
"io/flutter/plugin/common/JSONUtil.java",
"io/flutter/plugin/common/MessageCodec.java",
"io/flutter/plugin/common/MethodCall.java",
"io/flutter/plugin/common/MethodChannel.java",
"io/flutter/plugin/common/MethodCodec.java",
"io/flutter/plugin/common/PluginRegistry.java",
"io/flutter/plugin/common/StandardMessageCodec.java",
"io/flutter/plugin/common/StandardMethodCodec.java",
"io/flutter/plugin/common/StringCodec.java",
"io/flutter/plugin/editing/InputConnectionAdaptor.java",
"io/flutter/plugin/editing/TextInputPlugin.java",
"io/flutter/plugin/platform/AccessibilityEventsDelegate.java",
"io/flutter/plugin/platform/PlatformPlugin.java",
"io/flutter/plugin/platform/PlatformView.java",
"io/flutter/plugin/platform/PlatformViewFactory.java",
"io/flutter/plugin/platform/PlatformViewRegistry.java",
"io/flutter/plugin/platform/PlatformViewRegistryImpl.java",
"io/flutter/plugin/platform/PlatformViewsAccessibilityDelegate.java",
"io/flutter/plugin/platform/PlatformViewsController.java",
"io/flutter/plugin/platform/SingleViewPresentation.java",
"io/flutter/plugin/platform/VirtualDisplayController.java",
"io/flutter/util/PathUtils.java",
"io/flutter/util/Preconditions.java",
"io/flutter/util/Predicate.java",
"io/flutter/view/AccessibilityBridge.java",
"io/flutter/view/AccessibilityViewEmbedder.java",
"io/flutter/view/FlutterCallbackInformation.java",
"io/flutter/view/FlutterMain.java",
"io/flutter/view/FlutterNativeView.java",
"io/flutter/view/FlutterRunArguments.java",
"io/flutter/view/FlutterView.java",
"io/flutter/view/ResourceCleaner.java",
"io/flutter/view/ResourceExtractor.java",
"io/flutter/view/ResourcePaths.java",
"io/flutter/view/TextureRegistry.java",
"io/flutter/view/VsyncWaiter.java",
]
android_support_jars = [
"//third_party/android_support/android_support_compat.jar",
"//third_party/android_support/android_support_annotations.jar",
"//third_party/android_support/android_support_fragment.jar",
"//third_party/android_support/android_arch_lifecycle_common.jar",
"//third_party/android_support/android_arch_lifecycle_common_java8.jar",
"//third_party/android_support/android_arch_lifecycle_runtime.jar",
"//third_party/android_support/android_arch_lifecycle_viewmodel.jar",
]
action("flutter_shell_java") {
script = "//build/android/gyp/javac.py"
depfile = "$target_gen_dir/$target_name.d"
...
...
@@ -122,127 +242,10 @@ action("flutter_shell_java") {
jar_path = embedding_jar_path
source_jar_path = embedding_source_jar_path
sources = [
"io/flutter/Log.java",
"io/flutter/app/FlutterActivity.java",
"io/flutter/app/FlutterActivityDelegate.java",
"io/flutter/app/FlutterActivityEvents.java",
"io/flutter/app/FlutterApplication.java",
"io/flutter/app/FlutterFragmentActivity.java",
"io/flutter/app/FlutterPluginRegistry.java",
"io/flutter/embedding/android/AndroidKeyProcessor.java",
"io/flutter/embedding/android/AndroidTouchProcessor.java",
"io/flutter/embedding/android/DrawableSplashScreen.java",
"io/flutter/embedding/android/FlutterActivity.java",
"io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java",
"io/flutter/embedding/android/FlutterActivityLaunchConfigs.java",
"io/flutter/embedding/android/FlutterEngineConfigurator.java",
"io/flutter/embedding/android/FlutterEngineProvider.java",
"io/flutter/embedding/android/FlutterFragment.java",
"io/flutter/embedding/android/FlutterFragmentActivity.java",
"io/flutter/embedding/android/FlutterSplashView.java",
"io/flutter/embedding/android/FlutterSurfaceView.java",
"io/flutter/embedding/android/FlutterTextureView.java",
"io/flutter/embedding/android/FlutterView.java",
"io/flutter/embedding/android/SplashScreen.java",
"io/flutter/embedding/android/SplashScreenProvider.java",
"io/flutter/embedding/engine/FlutterEngine.java",
"io/flutter/embedding/engine/FlutterEngineAndroidLifecycle.java",
"io/flutter/embedding/engine/FlutterEngineCache.java",
"io/flutter/embedding/engine/FlutterEnginePluginRegistry.java",
"io/flutter/embedding/engine/FlutterJNI.java",
"io/flutter/embedding/engine/FlutterShellArgs.java",
"io/flutter/embedding/engine/dart/DartExecutor.java",
"io/flutter/embedding/engine/dart/DartMessenger.java",
"io/flutter/embedding/engine/dart/PlatformMessageHandler.java",
"io/flutter/embedding/engine/plugins/FlutterPlugin.java",
"io/flutter/embedding/engine/plugins/PluginRegistry.java",
"io/flutter/embedding/engine/plugins/activity/ActivityAware.java",
"io/flutter/embedding/engine/plugins/activity/ActivityControlSurface.java",
"io/flutter/embedding/engine/plugins/activity/ActivityPluginBinding.java",
"io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverAware.java",
"io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverControlSurface.java",
"io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverPluginBinding.java",
"io/flutter/embedding/engine/plugins/contentprovider/ContentProviderAware.java",
"io/flutter/embedding/engine/plugins/contentprovider/ContentProviderControlSurface.java",
"io/flutter/embedding/engine/plugins/contentprovider/ContentProviderPluginBinding.java",
"io/flutter/embedding/engine/plugins/service/ServiceAware.java",
"io/flutter/embedding/engine/plugins/service/ServiceControlSurface.java",
"io/flutter/embedding/engine/plugins/service/ServicePluginBinding.java",
"io/flutter/embedding/engine/plugins/shim/ShimPluginRegistry.java",
"io/flutter/embedding/engine/plugins/shim/ShimRegistrar.java",
"io/flutter/embedding/engine/renderer/FlutterRenderer.java",
"io/flutter/embedding/engine/renderer/FlutterUiDisplayListener.java",
"io/flutter/embedding/engine/renderer/RenderSurface.java",
"io/flutter/embedding/engine/systemchannels/AccessibilityChannel.java",
"io/flutter/embedding/engine/systemchannels/KeyEventChannel.java",
"io/flutter/embedding/engine/systemchannels/LifecycleChannel.java",
"io/flutter/embedding/engine/systemchannels/LocalizationChannel.java",
"io/flutter/embedding/engine/systemchannels/NavigationChannel.java",
"io/flutter/embedding/engine/systemchannels/PlatformChannel.java",
"io/flutter/embedding/engine/systemchannels/PlatformViewsChannel.java",
"io/flutter/embedding/engine/systemchannels/SettingsChannel.java",
"io/flutter/embedding/engine/systemchannels/SystemChannel.java",
"io/flutter/embedding/engine/systemchannels/TextInputChannel.java",
"io/flutter/plugin/common/ActivityLifecycleListener.java",
"io/flutter/plugin/common/BasicMessageChannel.java",
"io/flutter/plugin/common/BinaryCodec.java",
"io/flutter/plugin/common/BinaryMessenger.java",
"io/flutter/plugin/common/ErrorLogResult.java",
"io/flutter/plugin/common/EventChannel.java",
"io/flutter/plugin/common/FlutterException.java",
"io/flutter/plugin/common/JSONMessageCodec.java",
"io/flutter/plugin/common/JSONMethodCodec.java",
"io/flutter/plugin/common/JSONUtil.java",
"io/flutter/plugin/common/MessageCodec.java",
"io/flutter/plugin/common/MethodCall.java",
"io/flutter/plugin/common/MethodChannel.java",
"io/flutter/plugin/common/MethodCodec.java",
"io/flutter/plugin/common/PluginRegistry.java",
"io/flutter/plugin/common/StandardMessageCodec.java",
"io/flutter/plugin/common/StandardMethodCodec.java",
"io/flutter/plugin/common/StringCodec.java",
"io/flutter/plugin/editing/InputConnectionAdaptor.java",
"io/flutter/plugin/editing/TextInputPlugin.java",
"io/flutter/plugin/platform/AccessibilityEventsDelegate.java",
"io/flutter/plugin/platform/PlatformPlugin.java",
"io/flutter/plugin/platform/PlatformView.java",
"io/flutter/plugin/platform/PlatformViewFactory.java",
"io/flutter/plugin/platform/PlatformViewRegistry.java",
"io/flutter/plugin/platform/PlatformViewRegistryImpl.java",
"io/flutter/plugin/platform/PlatformViewsAccessibilityDelegate.java",
"io/flutter/plugin/platform/PlatformViewsController.java",
"io/flutter/plugin/platform/SingleViewPresentation.java",
"io/flutter/plugin/platform/VirtualDisplayController.java",
"io/flutter/util/PathUtils.java",
"io/flutter/util/Preconditions.java",
"io/flutter/util/Predicate.java",
"io/flutter/view/AccessibilityBridge.java",
"io/flutter/view/AccessibilityViewEmbedder.java",
"io/flutter/view/FlutterCallbackInformation.java",
"io/flutter/view/FlutterMain.java",
"io/flutter/view/FlutterNativeView.java",
"io/flutter/view/FlutterRunArguments.java",
"io/flutter/view/FlutterView.java",
"io/flutter/view/ResourceCleaner.java",
"io/flutter/view/ResourceExtractor.java",
"io/flutter/view/ResourcePaths.java",
"io/flutter/view/TextureRegistry.java",
"io/flutter/view/VsyncWaiter.java",
]
sources = android_java_sources
sources += get_target_outputs(":gen_android_build_config_java")
android_support_jars = [
"//third_party/android_support/android_support_compat.jar",
"//third_party/android_support/android_support_annotations.jar",
"//third_party/android_support/android_support_fragment.jar",
"//third_party/android_support/android_arch_lifecycle_common.jar",
"//third_party/android_support/android_arch_lifecycle_common_java8.jar",
"//third_party/android_support/android_arch_lifecycle_runtime.jar",
"//third_party/android_support/android_arch_lifecycle_viewmodel.jar",
]
outputs = [
depfile,
jar_path,
...
...
@@ -305,7 +308,7 @@ action("icudtl_object") {
]
}
action("android") {
action("android
_jar
") {
script = "//build/android/gyp/create_flutter_jar.py"
if (stripped_symbols) {
...
...
@@ -468,3 +471,78 @@ action("robolectric_tests") {
":flutter_shell_java",
]
}
zip_bundle("android_symbols") {
output = "$android_zip_archive_dir/symbols.zip"
files = [
{
source = "$root_build_dir/libflutter.so"
destination = "libflutter.so"
},
]
deps = [
":flutter_shell_native",
]
}
zip_bundle("android") {
output = "$android_zip_archive_dir/artifacts.zip"
files = [
{
source = "$root_build_dir/flutter.jar"
destination = "flutter.jar"
},
]
deps = [
":android_jar",
":android_symbols",
]
if (current_cpu == "x86" || current_cpu == "x64") {
files += [
{
source = "$root_build_dir/lib.stripped/libflutter.so"
destination = "libflutter.so"
},
]
deps += [ ":flutter_shell_native" ]
}
}
# TODO(dnfield): make these targets pass.
# https://github.com/flutter/flutter/issues/42400
action("gen_android_javadoc") {
script = "//flutter/tools/gen_javadoc.py"
sources = android_java_sources + android_support_jars
outputs = [
"$target_gen_dir/javadocs",
]
args = [
"--out-dir",
rebase_path(outputs[0]),
"--android-source-root",
rebase_path("."),
"--build-config-path",
rebase_path(target_gen_dir),
"--third-party",
rebase_path("//third_party"),
]
}
zip_bundle("android_javadoc") {
output = "android-javadoc.zip"
javadoc_dir = get_target_outputs(":gen_android_javadoc")
files = [
{
source = javadoc_dir[0]
destination = "/"
},
]
deps = [
":gen_android_javadoc",
]
}
sky/dist/BUILD.gn
浏览文件 @
a05803a0
...
...
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//flutter/build/zip_bundle.gni")
if (is_android) {
action("flutter_services") {
script = "$flutter_root/sky/tools/dist_dart_pkg.py"
...
...
@@ -78,10 +80,23 @@ if (is_android) {
"$flutter_root/sky/packages/sky_services:sky_services_pkg_helper",
]
}
}
group("dist") {
if (is_android) {
zip_bundle("zip") {
output = "$android_zip_archive_dir/sky_engine.zip"
files = [
{
source = "$root_build_dir/dist/packages/flutter_services"
destination = "flutter_services"
},
{
source = "$root_build_dir/dist/packages/sky_engine"
destination = "sky_engine"
},
{
source = "$root_build_dir/dist/packages/sky_services"
destination = "sky_services"
},
]
deps = [
":flutter_services",
":sky_engine",
...
...
@@ -89,3 +104,11 @@ group("dist") {
]
}
}
group("dist") {
if (is_android) {
deps = [
":zip",
]
}
}
tools/gen_javadoc.py
浏览文件 @
a05803a0
...
...
@@ -12,28 +12,35 @@ ANDROID_SRC_ROOT = 'flutter/shell/platform/android'
def
main
():
if
not
os
.
path
.
exists
(
ANDROID_SRC_ROOT
):
print
'This script must be run at the root of the Flutter source tree'
return
1
parser
=
argparse
.
ArgumentParser
(
description
=
'Runs javadoc on Flutter Android libraries'
)
parser
.
add_argument
(
'--out-dir'
,
type
=
str
,
required
=
True
)
parser
.
add_argument
(
'--android-source-root'
,
type
=
str
,
default
=
ANDROID_SRC_ROOT
)
parser
.
add_argument
(
'--build-config-path'
,
type
=
str
)
parser
.
add_argument
(
'--third-party'
,
type
=
str
,
default
=
'third_party'
)
args
=
parser
.
parse_args
()
if
not
os
.
path
.
exists
(
args
.
android_source_root
):
print
(
'This script must be run at the root of the Flutter source tree, or '
'the --android-source-root must be set.'
)
return
1
if
not
os
.
path
.
exists
(
args
.
out_dir
):
os
.
makedirs
(
args
.
out_dir
)
classpath
=
[
ANDROID_SRC_ROOT
,
'third_party/android_support/android_arch_lifecycle_common
.jar'
,
'third_party/android_support/android_arch_lifecycle_viewmodel
.jar'
,
'third_party/android_support/android_support_annotations
.jar'
,
'third_party/android_support/android_support_compat
.jar'
,
'third_party/android_support/android_support_fragment
.jar'
,
'third_party/android_tools/sdk/platforms/android-29/android
.jar'
,
'base/android/java/src
'
,
'third_party/jsr-305/src/ri/src/main/java
'
,
args
.
android_source_root
,
args
.
third_party
+
'/android_support/android_support_compat
.jar'
,
args
.
third_party
+
'/android_support/android_support_annotations
.jar'
,
args
.
third_party
+
'/android_support/android_support_fragment
.jar'
,
args
.
third_party
+
'/android_support/android_arch_lifecycle_common
.jar'
,
args
.
third_party
+
'/android_support/android_arch_lifecycle_common_java8
.jar'
,
args
.
third_party
+
'/android_support/android_arch_lifecycle_runtime
.jar'
,
args
.
third_party
+
'/android_support/android_arch_lifecycle_viewmodel.jar
'
,
args
.
third_party
+
'/android_tools/sdk/platforms/android-29/android.jar
'
,
]
if
args
.
build_config_path
:
classpath
.
append
(
args
.
build_config_path
)
packages
=
[
'io.flutter.app'
,
'io.flutter.embedding.android'
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录