WEBVTT

00:00:00.000 --> 00:00:01.740
• 收听本周的
萨马林显示在哪里

00:00:01.740 --> 00:00:03.450
我的好朋友约翰
告诉你如何采取

00:00:03.450 --> 00:00:05.250
您的 Android 应用并捆绑起来

00:00:05.250 --> 00:00:07.620
到Android应用程序捆绑包。所以，请调入。

00:00:07.620 --> 00:00:15.720
[ 音乐]

00:00:15.720 --> 00:00:17.685
• 欢迎大家回来
到萨马林秀。

00:00:17.685 --> 00:00:18.730
我是你的主人詹姆斯·蒙特马格诺

00:00:18.730 --> 00:00:20.100
今天我有一个
我最好的朋友在

00:00:20.100 --> 00:00:22.695
整个世界约翰·道格拉斯
从犹他州。约翰怎么样？

00:00:22.695 --> 00:00:23.910
嘿，谢谢詹姆斯

00:00:23.910 --> 00:00:24.855
• 再次返回。

00:00:24.855 --> 00:00:27.165
• 再次返回。那是
马上回到马鞍。

00:00:27.165 --> 00:00:28.245
• 您亲自到此。

00:00:28.245 --> 00:00:30.825
"我是。不再在网间。

00:00:30.825 --> 00:00:32.565
* 美丽。我很高兴
让你在这里

00:00:32.565 --> 00:00:36.255
我知道作为项目经理
在我们的安卓堆栈上，

00:00:36.255 --> 00:00:38.850
你关心很多事情

00:00:38.850 --> 00:00:39.865
哦，是的。

00:00:39.865 --> 00:00:42.710
* 具体来说，使
确保事情建立

00:00:42.710 --> 00:00:46.175
快速，开发人员可以构建
更小、更精简的应用程序。

00:00:46.175 --> 00:00:47.450
绝对是詹姆斯。

00:00:47.450 --> 00:00:51.090
"没错"我们做什么？
今天要谈吗？

00:00:51.090 --> 00:00:53.630
* 当然可以。我们要谈谈
关于安卓应用捆绑包，

00:00:53.630 --> 00:00:55.220
和它是如何工作的是，

00:00:55.220 --> 00:00:58.160
每个 Android 应用程序捆绑包都是
基本上是一种方式，你创建

00:00:58.160 --> 00:01:03.050
一个较小的APK为所有
您的用户在谷歌播放。

00:01:03.050 --> 00:01:04.640
所以这样想吧。

00:01:04.640 --> 00:01:07.100
你会传统上
添加 APK 和

00:01:07.100 --> 00:01:09.720
本来可以
一个相当大的APK，对吧？

00:01:09.720 --> 00:01:11.265
* 是。安卓软件包。

00:01:11.265 --> 00:01:12.750
* 安卓包，确切地说。

00:01:12.750 --> 00:01:17.565
所以Android应用程序捆绑包也
被称为AAB，是这个新的。

00:01:17.565 --> 00:01:19.710
* 刚刚使应用程序捆绑现在。

00:01:19.710 --> 00:01:23.630
* 确切地说。所以这个新格式
基本上允许你

00:01:23.630 --> 00:01:27.560
创建一个较小的包
动态交付 APK。

00:01:27.560 --> 00:01:30.620
我要跳进
你该如何做到这一点。

00:01:30.620 --> 00:01:32.400
• 所以今天的谷歌，

00:01:32.400 --> 00:01:34.050
当您提交到谷歌播放，

00:01:34.050 --> 00:01:36.795
然后你今天提交
传统的APK？

00:01:36.795 --> 00:01:37.320
* 是。

00:01:37.320 --> 00:01:40.685
但是现在，你是说你
可以选择执行应用捆绑包吗？

00:01:40.685 --> 00:01:41.165
* 正确。

00:01:41.165 --> 00:01:42.905
• 现在，如果您要提交
到其他应用商店

00:01:42.905 --> 00:01:44.285
或部署在内部，

00:01:44.285 --> 00:01:46.160
您仍要使用 APK？

00:01:46.160 --> 00:01:48.230
* 是的。所以他们仍然
移动有点慢，

00:01:48.230 --> 00:01:51.320
但他们也
支持应用捆绑包。

00:01:51.320 --> 00:01:53.630
所以如果你在亚马逊商店

00:01:53.630 --> 00:01:55.865
如果你在一家中国商店
诸如外的东西

00:01:55.865 --> 00:01:58.550
他们将支持应用捆绑包
因为整个框架是

00:01:58.550 --> 00:02:01.510
实际分发到
任何应用程序存储。

00:02:01.510 --> 00:02:04.340
"Ⅰ
也阅读最近

00:02:04.340 --> 00:02:07.010
应用中心开源项目

00:02:07.010 --> 00:02:09.330
他们有应用程序
捆绑支持来了，

00:02:09.330 --> 00:02:10.665
分布，非常酷。

00:02:10.665 --> 00:02:11.415
* 绝对。

00:02:11.415 --> 00:02:14.370
* 什么是这个应用程序捆绑的东西
因为即使我也不知道

00:02:14.370 --> 00:02:17.240
* 所以安卓包有
很多不同的东西。

00:02:17.240 --> 00:02:19.550
因此，它有原生库

00:02:19.550 --> 00:02:21.665
你需要运行
您的代码在Android上。

00:02:21.665 --> 00:02:23.750
它有所有不同的资源

00:02:23.750 --> 00:02:26.210
对于每种类型
安卓设备。

00:02:26.210 --> 00:02:27.830
安卓系统非常支离破碎，

00:02:27.830 --> 00:02:30.380
有很多
不同的分辨率，

00:02:30.380 --> 00:02:32.465
密度，真的一切。

00:02:32.465 --> 00:02:34.730
你见过那些HDPI吗

00:02:34.730 --> 00:02:36.215
或那些类型的东西，

00:02:36.215 --> 00:02:38.105
这是很多资源。

00:02:38.105 --> 00:02:40.520
你得到重复的
很多次。

00:02:40.520 --> 00:02:43.310
所以，这真的在做什么
说我要去

00:02:43.310 --> 00:02:46.295
把你的设备詹姆斯和
你可能有一个像素四，

00:02:46.295 --> 00:02:48.530
也许它出来了
以后，你把它捡起来。

00:02:48.530 --> 00:02:50.045
• 我会把它保存在像素 2 中，

00:02:50.045 --> 00:02:51.710
现在，但我要四。

00:02:51.710 --> 00:02:55.820
* 确切地说。你有这个
像素四，此设备是

00:02:55.820 --> 00:03:00.675
优化后，具有
特定的分辨率和密度。

00:03:00.675 --> 00:03:03.320
它是一个特定的处理器
它运行，

00:03:03.320 --> 00:03:06.785
如此具体的ABI，也是一种语言，

00:03:06.785 --> 00:03:09.080
例如，英语。

00:03:09.080 --> 00:03:11.360
所以它是动态的，

00:03:11.360 --> 00:03:15.320
它创建一个 APK
所有这些项目相结合，使

00:03:15.320 --> 00:03:17.530
您被交付
最佳体验

00:03:17.530 --> 00:03:19.385
但只有资源
你关心的

00:03:19.385 --> 00:03:21.915
这让我很有意义。是
这里显示的是什么？

00:03:21.915 --> 00:03:23.430
* 这正是
这是显示在这里。

00:03:23.430 --> 00:03:27.080
所以，这到底是显示的
你有这个ARM 64

00:03:27.080 --> 00:03:31.130
可能是你的ABI，你的办公桌
电话或此设备的目标。

00:03:31.130 --> 00:03:33.980
例如，这显示
是法语或英语。

00:03:33.980 --> 00:03:35.645
所以，你需要这两个。

00:03:35.645 --> 00:03:37.940
然后它说，这
是一种更高端的设备，

00:03:37.940 --> 00:03:40.715
所以我只需要XXX HDPI

00:03:40.715 --> 00:03:43.025
除了那，你
具有此基本模块

00:03:43.025 --> 00:03:45.310
的 APK
只是你的所有代码。

00:03:45.310 --> 00:03:47.295
* 这是有道理的。我所有的代码
还是会去的

00:03:47.295 --> 00:03:49.595
但资源
要求不存在。

00:03:49.595 --> 00:03:50.285
* 确切地说。

00:03:50.285 --> 00:03:54.460
• 这里看起来好的东西，
我们说ABI是安卓的

00:03:54.460 --> 00:03:56.700
* 应用程序二进制接口。

00:03:56.700 --> 00:03:58.530
• 体系结构。应用。

00:03:58.530 --> 00:04:00.060
• 它可以意味着很多事情。

00:04:00.060 --> 00:04:02.100
* 所以这是一个ARM 64，我们可能会使用

00:04:02.100 --> 00:04:06.190
ARM 7 或 x 86 或 x 64 位
基于那里，

00:04:06.190 --> 00:04:07.880
这使得很多
在世界上的感觉

00:04:07.880 --> 00:04:09.500
萨马林，因为
你有资源

00:04:09.500 --> 00:04:10.985
但也如果我使用

00:04:10.985 --> 00:04:12.920
SkiaSharp 图书馆，他们有

00:04:12.920 --> 00:04:15.845
这些SO文件，
什么是 SO 文件？

00:04:15.845 --> 00:04:17.150
• 共享对象文件。

00:04:17.150 --> 00:04:19.490
• 共享对象文件。我已经
不知道什么是SO文件。

00:04:19.490 --> 00:04:20.720
* 这实际上是这些的一部分。

00:04:20.720 --> 00:04:21.995
图书馆
需要装运。

00:04:21.995 --> 00:04:24.650
例如，共享
对象在 ARM 64 上，

00:04:24.650 --> 00:04:27.270
你只需要ARM 64 1。
你不需要它们。

00:04:27.270 --> 00:04:28.890
• 非常酷。所以你
这里说，

00:04:28.890 --> 00:04:30.585
自动为我吗？

00:04:30.585 --> 00:04:31.590
* 确实如此。

00:04:31.590 --> 00:04:33.800
* 此图表显示
它会减少

00:04:33.800 --> 00:04:35.990
我的应用程序大小增加 20% 到 50%？

00:04:35.990 --> 00:04:39.500
* 这是正确的。原因
是因为你只被交付

00:04:39.500 --> 00:04:43.270
最佳设备特定
APK在一天结束。

00:04:43.270 --> 00:04:44.610
• 那么，我该怎么做呢？

00:04:44.610 --> 00:04:46.695
• 我们如何开始是，

00:04:46.695 --> 00:04:49.640
目前有一个步骤
你今天可以做。

00:04:49.640 --> 00:04:52.165
这是一步，我们有
命令行支持。

00:04:52.165 --> 00:04:56.080
所以这意味着
今天在16.2及以上，

00:04:56.080 --> 00:04:58.460
您可以启用应用捆绑包

00:04:58.460 --> 00:05:01.010
只需添加一个快速属性
到您的项目。

00:05:01.010 --> 00:05:04.535
• 冷却。所以视觉工作室 2019 16.2

00:05:04.535 --> 00:05:09.245
或适用于 Mac 2019 8.2 的视觉工作室。

00:05:09.245 --> 00:05:10.640
* 完全詹姆斯。

00:05:10.640 --> 00:05:13.310
所以我们要做的是
我们将开始

00:05:13.310 --> 00:05:15.750
我们将向您展示文物
我们可以用这个来创造。

00:05:15.750 --> 00:05:16.880
• 冷却。就在这里

00:05:16.880 --> 00:05:20.425
* 所以在这里，我刚刚创建
一个新的应用程序。

00:05:20.425 --> 00:05:24.830
文件，新建。你可以看到我做到了
两个之前。这是应用程序三。

00:05:25.100 --> 00:05:28.010
因此，我们能做的就是我们可以

00:05:28.010 --> 00:05:30.290
卸载此项目或
您可以在

00:05:30.290 --> 00:05:35.180
你最喜欢的文本编辑器是
VS 代码，无论它是什么。

00:05:35.180 --> 00:05:38.180
.我们可以继续前进
并编辑 CSS。普拉什，

00:05:38.180 --> 00:05:40.970
因为这是怎么回事
仅用于发布，

00:05:40.970 --> 00:05:42.980
我们不一定要创建

00:05:42.980 --> 00:05:45.440
每个应用程序捆绑
我们调试应用程序的时间，

00:05:45.440 --> 00:05:48.680
我们要添加此属性
到"释放"部分。

00:05:48.680 --> 00:05:50.690
* 所以在这里，此属性组。

00:05:50.690 --> 00:05:51.740
这是文件，新。

00:05:51.740 --> 00:05:54.545
这可能意味着每个应用程序
说每当我被释放，

00:05:54.545 --> 00:05:56.795
任何 CPU，使用这些设置。

00:05:56.795 --> 00:06:00.515
* 确切地说。在这里的顶部，当
你看到这个小小的下拉列表，

00:06:00.515 --> 00:06:04.410
这是你的版本配置
经理，这基本上是说，

00:06:04.410 --> 00:06:06.015
"嘿，你在做什么？

00:06:06.015 --> 00:06:07.920
你是出版还是什么？

00:06:07.920 --> 00:06:10.535
所以，你可以做的是
我已经有这个了

00:06:10.535 --> 00:06:14.650
已经在这里，我们只是
会拉这个属性。

00:06:14.650 --> 00:06:17.660
* 所以一个不错的小财产
在这里，你会添加。

00:06:17.660 --> 00:06:19.930
• 您添加的单个属性，

00:06:19.930 --> 00:06:22.745
这是安卓软件包
格式化属性和此

00:06:22.745 --> 00:06:26.120
支持两个值
现在，AAB和APK。

00:06:26.120 --> 00:06:29.480
所以无论你喜欢哪一个
你想被分发

00:06:29.480 --> 00:06:32.390
您将在此处添加它，
继续你的快乐之路。

00:06:32.390 --> 00:06:34.220
很好，因为
也许你还得

00:06:34.220 --> 00:06:36.200
向别人提供 APK

00:06:36.200 --> 00:06:38.300
你可能有另一个版本
配置称为发布

00:06:38.300 --> 00:06:40.770
APK把它拿出来，所以真的很好。

00:06:40.770 --> 00:06:42.110
* 特别是
那些商店，不

00:06:42.110 --> 00:06:44.270
支持应用捆绑包
但或任何类型的

00:06:44.270 --> 00:06:47.890
临时部署或
无论你需要做什么。

00:06:47.890 --> 00:06:48.315
• 非常酷。

00:06:48.315 --> 00:06:49.515
* 确切地说。

00:06:49.515 --> 00:06:51.725
• 我们可以很快保存。

00:06:51.725 --> 00:06:53.795
我们可以重新加载这个。

00:06:53.795 --> 00:06:56.075
只是为了时间

00:06:56.075 --> 00:07:00.410
我们已经做到了
实际命令行工具

00:07:00.410 --> 00:07:05.405
在这里，我们将向您展示
我们实际运行的是，

00:07:05.405 --> 00:07:09.670
我们只是使用这个目标
称为符号机器人包。

00:07:09.670 --> 00:07:11.220
这一切都在文档中。

00:07:11.220 --> 00:07:12.625
你很容易找到这个

00:07:12.625 --> 00:07:14.270
但这也是你一样

00:07:14.270 --> 00:07:16.970
使用任何您的
CI 和喜欢。

00:07:16.970 --> 00:07:18.920
会发生什么，我们将采取

00:07:18.920 --> 00:07:21.485
带密钥存储
签署安卓程序包

00:07:21.485 --> 00:07:22.625
我们会说，"嘿，

00:07:22.625 --> 00:07:23.825
这是要使用的密钥存储，

00:07:23.825 --> 00:07:25.415
现在生成应用程序捆绑包。

00:07:25.415 --> 00:07:27.860
所以，现在我们有属性

00:07:27.860 --> 00:07:30.385
在那里，我们说
配置等于释放，

00:07:30.385 --> 00:07:32.415
我们现在可以生成此应用程序捆绑包。

00:07:32.415 --> 00:07:34.140
所以你在这里所做的是，你

00:07:34.140 --> 00:07:36.320
复制，从文件，你

00:07:36.320 --> 00:07:41.345
指定的 t 调用，
签署安卓包。

00:07:41.345 --> 00:07:44.935
哦，是的，那很好。
然后配置发布。

00:07:44.935 --> 00:07:46.965
这是我的钥匙库

00:07:46.965 --> 00:07:51.630
这是我想要的钥匙库
使用。然后你运行这个。

00:07:51.630 --> 00:07:53.180
• 您可以在
命令行右侧

00:07:53.180 --> 00:07:55.175
现在并生成应用程序
捆绑为您今天。

00:07:55.175 --> 00:07:56.870
你以前是这么做的吗？

00:07:56.870 --> 00:07:58.145
•我之前就这么做了。

00:07:58.145 --> 00:07:59.210
• 需要一分钟。

00:07:59.210 --> 00:08:00.935
• 确实需要一分钟左右，

00:08:00.935 --> 00:08:02.150
仅仅因为它需要建造，

00:08:02.150 --> 00:08:05.840
它需要签署，然后
当然创建工件本身。

00:08:05.840 --> 00:08:09.530
所以，我们在这里做的是，我们
已经创建了此应用程序捆绑包，

00:08:09.530 --> 00:08:13.655
是.AAB，那很漂亮
小，如果你今天看它。

00:08:13.655 --> 00:08:18.450
这些高达约150兆字节
什么是支持的，

00:08:18.450 --> 00:08:20.585
所以，当你可以上传到商店。

00:08:20.585 --> 00:08:24.670
任何以上，你可能需要
研究砍下来。

00:08:24.670 --> 00:08:27.590
# 拿到了.所以你只是采取
这个AAB，就像你会

00:08:27.590 --> 00:08:30.090
提交 APK 之前，
附带的应用程序捆绑包？

00:08:30.090 --> 00:08:30.945
• 拖放。

00:08:30.945 --> 00:08:31.395
它吗？

00:08:31.395 --> 00:08:31.890
* 是它。

00:08:31.890 --> 00:08:32.730
• 非常酷。

00:08:32.730 --> 00:08:36.195
• 我们也有存档工具
在视觉工作室内。

00:08:36.195 --> 00:08:38.870
当你拥有该属性时
在你的项目中，

00:08:38.870 --> 00:08:40.010
我们将支持，在

00:08:40.010 --> 00:08:41.885
视觉工作室的未来版本。

00:08:41.885 --> 00:08:44.015
• 就像你说的，如果
你已经有CI了

00:08:44.015 --> 00:08:45.710
您可以添加这些
命令行参数，

00:08:45.710 --> 00:08:48.855
如果需要，泵出 AAB 文件。

00:08:48.855 --> 00:08:50.505
你拿走那个文件

00:08:50.505 --> 00:08:52.330
你生成它，你现在完成。

00:08:52.330 --> 00:08:56.480
我有一个问题是我知道
当我生成 APK 时

00:08:56.480 --> 00:08:59.120
还有最后一步
这是拉链对齐，

00:08:59.120 --> 00:09:00.650
这是一个要求。

00:09:00.650 --> 00:09:01.880
我不知道它只是没有
自动发生，

00:09:01.880 --> 00:09:03.590
但我知道里面
我的 Azure 开发计划 I

00:09:03.590 --> 00:09:06.775
有登录，然后压缩它。

00:09:06.775 --> 00:09:07.940
我一直担心拉链吗？

00:09:07.940 --> 00:09:09.410
与本或
这是怎么回事？

00:09:09.410 --> 00:09:13.640
* 所以签署Android包目标
做这一切为你。

00:09:13.640 --> 00:09:15.770
你不必担心
它。我们会为你做的

00:09:15.770 --> 00:09:17.630
但是，如果你在一个CI环境，

00:09:17.630 --> 00:09:19.580
你必须采取
预防措施，因为

00:09:19.580 --> 00:09:23.330
应用捆绑执行不同的
签名机制，即，

00:09:23.330 --> 00:09:26.375
一个对齐之前，它的
签名，反之亦然。

00:09:26.375 --> 00:09:30.050
查看我们的文档
肯定，你将能够

00:09:30.050 --> 00:09:32.090
看到小细微差别

00:09:32.090 --> 00:09:34.675
你应该把这一步
在 CI 管道中。

00:09:34.675 --> 00:09:37.580
* 我可以想象现在我只是
有一个步骤，字面上说

00:09:37.580 --> 00:09:39.560
建立安卓，但随后
我可以只是一个构建

00:09:39.560 --> 00:09:40.640
安卓，运行此命令。

00:09:40.640 --> 00:09:43.380
* 确切地说。您可以
做这很简单。

00:09:43.380 --> 00:09:46.145
* 真棒。就是这样。我们成功了。

00:09:46.145 --> 00:09:47.780
我以为我会去
去更长的时间

00:09:47.780 --> 00:09:49.010
但显然它只需要

00:09:49.010 --> 00:09:52.175
10 分钟了解什么应用
捆绑包，以及如何做到这一点。

00:09:52.175 --> 00:09:52.820
* 确切地说。

00:09:52.820 --> 00:09:55.440
太神奇了约翰，头脑清醒。

00:09:55.440 --> 00:10:02.060
谢谢那么有什么理由吗？
不使用应用程序捆绑包？

00:10:02.060 --> 00:10:05.420
[ ] 现在再次
取决于市场。

00:10:05.420 --> 00:10:08.905
如果你正在做更多
设备内部，

00:10:08.905 --> 00:10:10.850
您仍要使用 APK

00:10:10.850 --> 00:10:13.475
因为在一天结束的时候
您仍在安装 APK。

00:10:13.475 --> 00:10:16.835
应用捆绑包只是使
它非常有帮助，友好，

00:10:16.835 --> 00:10:20.760
优化体验
将 APK 交付到设备。

00:10:20.760 --> 00:10:22.775
• 此平台
开发人员使用

00:10:22.775 --> 00:10:26.820
应用程序捆绑，它完全
从谷歌推出，

00:10:26.820 --> 00:10:28.965
它在那里，每个人都在使用它。

00:10:28.965 --> 00:10:32.720
* 是的。它实际上是
首选的上传方式。

00:10:32.720 --> 00:10:36.380
• 因此，请更新您的应用程序
应用捆绑包。

00:10:36.380 --> 00:10:40.145
转到aka.ms/AppBundles
以了解更多信息。

00:10:40.145 --> 00:10:41.120
谢谢你的收看。

00:10:41.120 --> 00:10:42.335
约翰，谢谢你来。

00:10:42.335 --> 00:10:42.920
谢谢詹姆斯

00:10:42.920 --> 00:10:44.930
• 一如既往，使
一定要订阅

00:10:44.930 --> 00:10:47.000
登记，叮铃，
做所有的事情。

00:10:47.000 --> 00:10:49.380
感谢您的收看
这个Xamarin秀。

00:10:49.380 --> 00:10:57.870
[ 音乐]

00:10:57.870 --> 00:10:59.720
嘿，詹姆斯
只是想签入

00:10:59.720 --> 00:11:01.745
并感谢您
观看此视频。

00:11:01.745 --> 00:11:04.835
现在做所有的事情，你
知道你想做这样的，

00:11:04.835 --> 00:11:07.310
订阅，和丁
通知铃，

00:11:07.310 --> 00:11:09.410
成为的一部分
通知小队。

00:11:09.410 --> 00:11:11.180
当您在这里时，请查看所有

00:11:11.180 --> 00:11:14.000
这些真棒视频
我已经编码了

00:11:14.000 --> 00:11:17.640
点击那东西。点击
它。小心。做吧。

