如何在 Android Studio 中仅实现依赖项中的单个组件?
How to implement only a single component from a dependency in Android Studio?
我有以下依赖:
implementation 'com.google.android.material:material:1.5.0-alpha02'
来自 this repository。然而事实证明我只需要它的 CircularProgressIndicator
,现在我不希望我的应用程序附带整个依赖项(我只需要我需要的东西)。我怎样才能做到这一点?我的思路是:
implementation 'com.google.android.material:material:1.5.0-alpha02:AddOnlyCircularProgressIndicatorRelatedComponents'
How can I accomplish this?
您的选择是:
分叉库,只复制构成 CircularProgressIndicator
的片段。请注意,可能有几十个或数百个这样的片段:Java 类、资源等
包括库,并依靠 R8/ProGuard 从库中删除未使用的代码,就像它对应用程序中的其他所有内容所做的那样
如果您关心的是应用程序的大小,您不必担心,实施完整的依赖关系并允许 ProGuard 施展魔法。
在后台,Proguard 会从您编译的项目中删除所有未使用的代码,从而显着减小您的应用程序大小。要了解如何将 Proguard 集成到您的应用程序中,请查看 this。
PS: 使用 Proguard 的其他好处包括:
- 代码混淆:使您的应用极难进行逆向工程。
- 减少方法数:Android 应用程序可以拥有的方法数有 64k 的限制,这个数字包括您的库和依赖项中的函数。使用 Proguard 会大大降低您达到这个数字的几率。
我有以下依赖:
implementation 'com.google.android.material:material:1.5.0-alpha02'
来自 this repository。然而事实证明我只需要它的 CircularProgressIndicator
,现在我不希望我的应用程序附带整个依赖项(我只需要我需要的东西)。我怎样才能做到这一点?我的思路是:
implementation 'com.google.android.material:material:1.5.0-alpha02:AddOnlyCircularProgressIndicatorRelatedComponents'
How can I accomplish this?
您的选择是:
分叉库,只复制构成
CircularProgressIndicator
的片段。请注意,可能有几十个或数百个这样的片段:Java 类、资源等包括库,并依靠 R8/ProGuard 从库中删除未使用的代码,就像它对应用程序中的其他所有内容所做的那样
如果您关心的是应用程序的大小,您不必担心,实施完整的依赖关系并允许 ProGuard 施展魔法。
在后台,Proguard 会从您编译的项目中删除所有未使用的代码,从而显着减小您的应用程序大小。要了解如何将 Proguard 集成到您的应用程序中,请查看 this。
PS: 使用 Proguard 的其他好处包括:
- 代码混淆:使您的应用极难进行逆向工程。
- 减少方法数:Android 应用程序可以拥有的方法数有 64k 的限制,这个数字包括您的库和依赖项中的函数。使用 Proguard 会大大降低您达到这个数字的几率。