我可以在安装 apk 后下载 android 库吗?
can i download android library after installing apk?
我正在开发一个类似于 Instagram 的应用程序,在我的应用程序中我使用了 Ffmpeg 库来压缩和 trim 视频,但是这个库大大增加了我的应用程序的大小。 有什么办法可以在安装apk后将这个库添加到项目中吗?或者您有什么办法可以将 apk 大小减小到 10 MB?
当前 apk 大小:35MB
minifyEnabled true
shrinkResources true
// ffmpeg
implementation 'com.arthenica:mobile-ffmpeg-min:4.4.LTS'
当然不能!
制作 Apk 意味着您将所有代码与 3party 库一起编译,因此在 phone
上安装 Apk 后无法下载库
这里有一些减少 android Apk 大小的技巧:reduce apk size
如何在 Android 中减小 APK 大小?
APK 大小是为任何组织或任何企业构建任何应用程序时最重要的因素之一。没有用户愿意安装非常大的 APK 并在下载该 APK 时消耗他的数据。 APK 大小会影响您的应用程序性能,例如加载速度、消耗的内存量以及使用的内存量。在开发时查看您的 APK 大小非常重要。在这个回答中,我将查看在 Android Studio 中减小 APK 大小的技巧。
1。删除未使用的来源
APK 的大小取决于非常小的因素,它可能是您的应用中使用的代码、图像和资产。要减小 APK 的大小,请删除未使用的源,这将有助于在一定程度上减小 APK 的大小。删除未使用的 APK 源,例如未使用的 png、jpeg 和许多其他资源。小尺寸图像也更适合减小 APK 大小。建议使用矢量绘图而不是其他图像格式,如 JPEG、PNG 等。矢量绘图的尺寸很小,矢量绘图的主要优点是即使增加或减小尺寸也不会降低质量。
2。矢量绘图的使用
避免使用 jpeg 和 png 图像,因为与普通矢量绘图相比,它们占用的内存非常多。矢量绘图很容易缩放,并且它们的质量不会随着大小的变化而降低。
3。重用您的代码
尽可能重用你的代码,而不是重复代码。 Object-Oriented 编程将帮助您解决这个问题,这也将有助于保持 APK 的大小。重复代码会增加该特定文件的大小,并导致 APK 大小增加。
4。压缩 PNG 和 JPEG 文件
在大多数情况下,图像是降低性能的主要目的 in-app 以及在网站上。因此,最好使用压缩图像来减小其大小并提高应用程序性能。图片的大小也会影响 APK 的大小,因此最好在您的应用中使用压缩图片。您可以使用这么多在线平台来免费压缩您的图片。
5。使用 Lint
Lint 是重要的工具之一,它可以帮助我们在您的应用程序中获取未使用和重复的代码。因此,此工具将有助于删除重复和未使用的代码。
6。使用 WebP 文件格式的图像
WebP是由Google开发的另一种著名的图像格式。这种图像格式通常侧重于图像质量和优化。与其使用 PNG 和 JPEG 格式的图像,不如使用 WebP 图像格式,因为它的质量更好。
7。使用混淆器
Proguard 在调整 Android APK 的大小方面也发挥着重要作用。使用Proguard的主要功能如下:
- 这使得应用程序难以进行逆向工程。
- 通过删除未使用的 类 和方法有助于减小应用程序的大小。
Android 应用程序中的 Proguard 可以在 Gradle Scripts > build.gradle
文件中找到。
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
8。使用收缩资源
shrinkResources true
将删除项目中未使用的资源。您必须通过将其指定为 true 来启用它。您可以在 build.gradle file > buildTypes > release > shrinkResources
中找到此方法。启用它为真。
9。使用 R8 减小 APK 的大小
R8 的工作原理类似于混淆器。 R8 收缩是我们减少代码量的过程,这有助于自动减小 APK 大小。 R8 使用 proguard 规则并更快地压缩代码,即兴发挥输出大小。
10。限制外部库的使用
在我们的应用程序中添加许多外部功能时,我们更喜欢使用一些外部库。这些外部库将安装它们提供的 类 一些 类 不是必需的也没有用,它们会消耗存储空间并导致 APK 大小增加。因此最好限制外部库的使用以减小 APK 大小。
11。使用 Android 尺寸分析器工具
在 Android Studio 中有一个名为 Android Size Analyzer 的插件,此工具将帮助查找我们 APK 的不同文件所消耗的内存量。除了这个 Size,Analyzer 工具还会为我们提供一些有助于减小 APK 大小的提示。要分析您的 APK 大小,您只需单击 build > Analyze APK
选项,然后单击 select 您的 APK。您将看到分发的文件的实际大小以及可下载的大小。借助此工具,您还可以比较旧 APK 与新 APK 的大小。
12。生成 App Bundle 而不是 APK
Android App Bundle 是由Google 提供的一种发布格式。它由您的应用程序的代码和资源组成,与 AP 不同生成并签名 Google 播放。 Google Play 将处理您的应用程序包,它会根据设备配置为特定设备生成优化的 APK。当您使用应用程序包时,您不必为不同的设备生成多个 APK 文件。要为您的应用程序生成应用程序包,您只需单击 Build>Build Bundle(s)/APK(s)
,然后单击构建包。将生成您的应用程序包。
13。使用多个 APK 文件
如果您不想为您的应用程序创建捆绑包,那么您可以选择创建多个 APK 文件的选项。多个 APK 文件可用于支持不同的设备类型和不同的 CPU 架构。
14。减少文库大小
如果您使用库在项目中添加一些自定义视图,那么您可以添加 Google 提供的官方库。通常添加库可以更轻松地在我们的应用程序中轻松添加新功能,但与此同时,它也会影响我们应用程序的大小。在构建任何应用程序时最好减少库的使用。
15。使用重新配置
在构建 Android 应用程序时,其中存在一些默认资源。我们在我们的设备中使用的所有这些支持库都有其他语言的本地文件夹,我们实际上不在我们的应用程序中。这些文件夹还在我们的应用程序中占用一些内存位置。我们可以使用 resConfigs 删除我们的 APK 中不需要的这些资源,这将有助于将应用程序大小减小一定数量。如果您构建的特定应用仅针对特定受众,并且该受众仅使用特定语言(如印地语),那么我们将只保留印地语资源,我们将删除所有其他不需要的语言。
16。删除仅调试所需的库
许多开发人员使用一些特定的库来调试他们的 APK 文件。这些调试库还将在我们的 APK 文件中占用一些存储空间。我们可以在我们的应用程序中使用 debugImplementation() 方法来仅在调试时使用这些调试库。因此这些库将仅在调试时使用,不会添加到您的发布 APK 文件中。
我正在开发一个类似于 Instagram 的应用程序,在我的应用程序中我使用了 Ffmpeg 库来压缩和 trim 视频,但是这个库大大增加了我的应用程序的大小。 有什么办法可以在安装apk后将这个库添加到项目中吗?或者您有什么办法可以将 apk 大小减小到 10 MB?
当前 apk 大小:35MB
minifyEnabled true
shrinkResources true
// ffmpeg
implementation 'com.arthenica:mobile-ffmpeg-min:4.4.LTS'
当然不能! 制作 Apk 意味着您将所有代码与 3party 库一起编译,因此在 phone
上安装 Apk 后无法下载库这里有一些减少 android Apk 大小的技巧:reduce apk size
如何在 Android 中减小 APK 大小?
APK 大小是为任何组织或任何企业构建任何应用程序时最重要的因素之一。没有用户愿意安装非常大的 APK 并在下载该 APK 时消耗他的数据。 APK 大小会影响您的应用程序性能,例如加载速度、消耗的内存量以及使用的内存量。在开发时查看您的 APK 大小非常重要。在这个回答中,我将查看在 Android Studio 中减小 APK 大小的技巧。
1。删除未使用的来源
APK 的大小取决于非常小的因素,它可能是您的应用中使用的代码、图像和资产。要减小 APK 的大小,请删除未使用的源,这将有助于在一定程度上减小 APK 的大小。删除未使用的 APK 源,例如未使用的 png、jpeg 和许多其他资源。小尺寸图像也更适合减小 APK 大小。建议使用矢量绘图而不是其他图像格式,如 JPEG、PNG 等。矢量绘图的尺寸很小,矢量绘图的主要优点是即使增加或减小尺寸也不会降低质量。
2。矢量绘图的使用
避免使用 jpeg 和 png 图像,因为与普通矢量绘图相比,它们占用的内存非常多。矢量绘图很容易缩放,并且它们的质量不会随着大小的变化而降低。
3。重用您的代码
尽可能重用你的代码,而不是重复代码。 Object-Oriented 编程将帮助您解决这个问题,这也将有助于保持 APK 的大小。重复代码会增加该特定文件的大小,并导致 APK 大小增加。
4。压缩 PNG 和 JPEG 文件
在大多数情况下,图像是降低性能的主要目的 in-app 以及在网站上。因此,最好使用压缩图像来减小其大小并提高应用程序性能。图片的大小也会影响 APK 的大小,因此最好在您的应用中使用压缩图片。您可以使用这么多在线平台来免费压缩您的图片。
5。使用 Lint
Lint 是重要的工具之一,它可以帮助我们在您的应用程序中获取未使用和重复的代码。因此,此工具将有助于删除重复和未使用的代码。
6。使用 WebP 文件格式的图像
WebP是由Google开发的另一种著名的图像格式。这种图像格式通常侧重于图像质量和优化。与其使用 PNG 和 JPEG 格式的图像,不如使用 WebP 图像格式,因为它的质量更好。
7。使用混淆器
Proguard 在调整 Android APK 的大小方面也发挥着重要作用。使用Proguard的主要功能如下:
- 这使得应用程序难以进行逆向工程。
- 通过删除未使用的 类 和方法有助于减小应用程序的大小。
Android 应用程序中的 Proguard 可以在 Gradle Scripts > build.gradle
文件中找到。
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
8。使用收缩资源
shrinkResources true
将删除项目中未使用的资源。您必须通过将其指定为 true 来启用它。您可以在 build.gradle file > buildTypes > release > shrinkResources
中找到此方法。启用它为真。
9。使用 R8 减小 APK 的大小
R8 的工作原理类似于混淆器。 R8 收缩是我们减少代码量的过程,这有助于自动减小 APK 大小。 R8 使用 proguard 规则并更快地压缩代码,即兴发挥输出大小。
10。限制外部库的使用
在我们的应用程序中添加许多外部功能时,我们更喜欢使用一些外部库。这些外部库将安装它们提供的 类 一些 类 不是必需的也没有用,它们会消耗存储空间并导致 APK 大小增加。因此最好限制外部库的使用以减小 APK 大小。
11。使用 Android 尺寸分析器工具
在 Android Studio 中有一个名为 Android Size Analyzer 的插件,此工具将帮助查找我们 APK 的不同文件所消耗的内存量。除了这个 Size,Analyzer 工具还会为我们提供一些有助于减小 APK 大小的提示。要分析您的 APK 大小,您只需单击 build > Analyze APK
选项,然后单击 select 您的 APK。您将看到分发的文件的实际大小以及可下载的大小。借助此工具,您还可以比较旧 APK 与新 APK 的大小。
12。生成 App Bundle 而不是 APK
Android App Bundle 是由Google 提供的一种发布格式。它由您的应用程序的代码和资源组成,与 AP 不同生成并签名 Google 播放。 Google Play 将处理您的应用程序包,它会根据设备配置为特定设备生成优化的 APK。当您使用应用程序包时,您不必为不同的设备生成多个 APK 文件。要为您的应用程序生成应用程序包,您只需单击 Build>Build Bundle(s)/APK(s)
,然后单击构建包。将生成您的应用程序包。
13。使用多个 APK 文件
如果您不想为您的应用程序创建捆绑包,那么您可以选择创建多个 APK 文件的选项。多个 APK 文件可用于支持不同的设备类型和不同的 CPU 架构。
14。减少文库大小
如果您使用库在项目中添加一些自定义视图,那么您可以添加 Google 提供的官方库。通常添加库可以更轻松地在我们的应用程序中轻松添加新功能,但与此同时,它也会影响我们应用程序的大小。在构建任何应用程序时最好减少库的使用。
15。使用重新配置
在构建 Android 应用程序时,其中存在一些默认资源。我们在我们的设备中使用的所有这些支持库都有其他语言的本地文件夹,我们实际上不在我们的应用程序中。这些文件夹还在我们的应用程序中占用一些内存位置。我们可以使用 resConfigs 删除我们的 APK 中不需要的这些资源,这将有助于将应用程序大小减小一定数量。如果您构建的特定应用仅针对特定受众,并且该受众仅使用特定语言(如印地语),那么我们将只保留印地语资源,我们将删除所有其他不需要的语言。
16。删除仅调试所需的库
许多开发人员使用一些特定的库来调试他们的 APK 文件。这些调试库还将在我们的 APK 文件中占用一些存储空间。我们可以在我们的应用程序中使用 debugImplementation() 方法来仅在调试时使用这些调试库。因此这些库将仅在调试时使用,不会添加到您的发布 APK 文件中。