Rol*_*f ツ 7 android google-analytics proguard google-play-services
是否可以从Google Play服务库中删除不必要的包,以便该库仅包含Google Analytics所需的所有内容?
我之所以这样问是因为Google Play服务库充斥着我认为Google Analytics未使用的额外软件包,图片和资源.
Rol*_*f ツ 14
Proguard默认也从Google Play服务库中删除jar文件中未使用的代码.但是proguard不能用于删除(未使用的)资源,但我发现还有其他选项可以进一步优化库.
我能够使用方法二将应用程序1827 KB缩小到1115 KB.我测试了该应用,它运行正常,Google Analytics静态功能正如预期的那样出现在在线信息中心上.
第一种方法可能是最容易的.
第1步:将google-play-services.jar文件从库项目复制到您自己的项目,然后将其放在libs文件夹中.
第2步:从项目中删除对原始google-play-services_lib项目的库引用.
Right click on your project -> Properties -> Android -> Select library -> Remove
Run Code Online (Sandbox Code Playgroud)
第3步:将dontwarn标志添加到progruard设置文件中.
-dontwarn com.google.**.R
-dontwarn com.google.**.R$*
Run Code Online (Sandbox Code Playgroud)
说明:google-play-services-jar包含对生成的Java文件(R.java)的引用.这些文件通常在构建google-play-services_lib项目时生成.Proguard通常会在优化google-play-services.jar文件时警告您(退出时出现错误)这些文件丢失.通过添加dontwarn标志,proguard将忽略这些文件丢失的事实,并且不会因错误而退出.
方法二是方法一的更优化版本.不同之处在于,不是将google-play-services.jar文件从库项目复制到您自己的项目,而是首先使用proguard优化库.
所以你想要做的只是在google-play-services.jar文件上手动运行proguard.为了保留Google Analytics,我使用了此proguard设置文件.
-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;
}
Run Code Online (Sandbox Code Playgroud)
第1步:将google-play-services.jar文件从库项目sdk\tools\proguard\lib复制到该文件夹.
第2步:将您的proguard设置文件复制到该sdk\tools\proguard\lib文件夹.
第3步:使用您的设置文件运行progaurd:
在Windows上:打开命令窗口 - >导航到sdk\tools\proguard\lib文件夹 - >使用以下命令运行proguard:
java -jar proguard.jar @analytics-settings.txt
Run Code Online (Sandbox Code Playgroud)
第4步:使用本文中介绍的第一种方法将优化的google-play-services-analytics.jar添加到您的项目中.(不要忘记第一种方法中的第3步!)
Before + proguard = 1827 KB
Method 1 = 1206 KB
Method 2 = 1115 KB
Run Code Online (Sandbox Code Playgroud)
在android-studio中,您可以选择使用哪个库:
更新2017年6月13日
你可以使用这个播放服务版本:
Google+的
com.google.android.gms:play-services-plus:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google帐户登录
com.google.android.gms:play-services-auth:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google Actions,Base Client Library
com.google.android.gms:play-services-base:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google地址API
com.google.android.gms:play-services-identity:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google App Indexing
com.google.android.gms:play-services-appindexing:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google App邀请
com.google.android.gms:play-services-appinvite:11.0.0
Run Code Online (Sandbox Code Playgroud)
谷歌分析
com.google.android.gms:play-services-analytics:11.0.0
Run Code Online (Sandbox Code Playgroud)
谷歌演员
com.google.android.gms:play-services-cast:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google Cloud Messaging
com.google.android.gms:play-services-gcm:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google云端硬盘
com.google.android.gms:play-services-drive:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google Fit
com.google.android.gms:play-services-fitness:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google位置,活动识别和地点
com.google.android.gms:play-services-location:11.0.0
Run Code Online (Sandbox Code Playgroud)
谷歌地图
com.google.android.gms:play-services-maps:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google移动广告
com.google.android.gms:play-services-ads:11.0.0
Run Code Online (Sandbox Code Playgroud)
移动视觉
com.google.android.gms:play-services-vision:11.0.0
Run Code Online (Sandbox Code Playgroud)
谷歌附近
com.google.android.gms:play-services-nearby:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google Panorama Viewer
com.google.android.gms:play-services-panorama:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google Play游戏服务
com.google.android.gms:play-services-games:11.0.0
Run Code Online (Sandbox Code Playgroud)
安全网
com.google.android.gms:play-services-safetynet:11.0.0
Run Code Online (Sandbox Code Playgroud)
Google电子钱包
com.google.android.gms:play-services-wallet:11.0.0
Run Code Online (Sandbox Code Playgroud)
Android Wear
com.google.android.gms:play-services-wearable:11.0.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8078 次 |
| 最近记录: |