gpt4 book ai didi

android - 缩小 Google Play 服务库以仅与 Google Analytics 一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:26 25 4
gpt4 key购买 nike

是否可以从 Google Play 服务库中删除不需要的包,以便该库仅包含 Google Analytics 所需的所有内容?

我问这个是因为 Google Play 服务库中充斥着我认为 Google Analytics 未使用的额外包、图像和资源。

最佳答案

默认情况下,Proguard 会从 jar 文件中删除未使用的代码,也会从 Google Play 服务库中删除。但是 proguard 不能用于删除(未使用的)资源,但我发现还有其他选项可以进一步优化库。

我能够使用方法二将应用程序从 1827 KB 缩小到 1115 KB。我测试了该应用程序,它运行良好,并且 Google Analytics(分析)统计数据按预期出现在在线仪表板上。


方法 1:仅包含 google-play-services.jar 文件并忽略 R 警告。

第一种方法可能是最简单的。

第 1 步:将库项目中的 google-play-services.jar 文件复制到您自己的项目中,并将其粘贴到 libs 文件夹中。

第 2 步:从您的项目中删除对原始 google-play-services_lib 项目的库引用。

Right click on your project -> Properties -> Android -> Select library -> Remove

第 3 步:将 dontwarn 标志添加到您的 progruard 设置文件。

-dontwarn com.google.**.R
-dontwarn com.google.**.R$*

说明:google-play-services-jar 包含对生成的 Java 文件 (R.java) 的引用。这些文件通常在构建 google-play-services_lib 项目时生成。 Proguard 通常会在优化 google-play-services.jar 文件时警告您(通过错误退出)这些文件丢失。通过添加 dontwarn 标志,proguard 将忽略这些文件丢失的事实,并且不会因错误而退出。


方法二:创建优化的google-play-services(-analytics).jar

方法二是方法一的优化版。不同之处在于,不是将 google-play-services.jar 文件从库项目复制到您自己的项目,而是首先使用混淆器优化库。

因此,您要做的是仅在 google-play-services.jar 文件上手动运行 proguard。为了仅保留 Google Analytics,我使用了这个混淆设置文件。

-injars google-play-services.jar
-outjars google-play-services-analytics.jar

-libraryjars [add your path to sdk]/sdk/extras/android/support/v4/android-support-v4.jar
-libraryjars [add your path to sdk]/sdk/platforms/android-21/android.jar

-dontoptimize
-dontobfuscate
-dontwarn com.google.**.R
-dontwarn com.google.**.R$*
-dontnote

-keep public class com.google.android.gms.analytics.**, com.google.android.gms.common.**, com.google.android.gms.location.** {
public protected *;
}

-keep class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
java.lang.String NULL;
}

第 1 步:将库项目中的 google-play-services.jar 文件复制到 sdk\tools\proguard\lib 文件夹。

第 2 步:将您的混淆器设置文件复制到 sdk\tools\proguard\lib 文件夹。

第 3 步:使用您的设置文件运行 progaurd:

在 Windows 上:打开命令窗口 -> 导航到 sdk\tools\proguard\lib 文件夹 -> 使用以下命令运行 proguard:

java -jar proguard.jar @analytics-settings.txt

第 4 步:使用本文中介绍的第一种方法将优化后的 google-play-services-analytics.jar 添加到您的项目中。 (不要忘记第一种方法中的第 3 步!)


优化结果

Before + proguard = 1827 KB
Method 1 = 1206 KB
Method 2 = 1115 KB

关于android - 缩小 Google Play 服务库以仅与 Google Analytics 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26891208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com