Apk 大小:Firebase MLKit 包含大型原生库,即使未使用也是如此
Apk size: Firebase MLKit includes large native library even if not in use
我在我的应用中使用 Firebase MLKit,就像这样 FirebaseVision.getInstance().cloudImageLabeler
。
我只使用它的云版本。但是当我查看 apk 时,它包含来自 Firebase 的大型原生库,总共 10Mb,用于 4 种架构。这占我应用程序大小的 80%。它们被命名为每个体系结构 libclassifier_jni.so
。
在使用 objdump -d
进一步检查从 apk 中提取的库后,我发现这些库与设备上的图像标签有关。它有像 Java_com_google_android_libraries_vision_visionkit_recognition_classifier_NativeClassifier_initialize
.
这样的符号
我确定我没有在设备上使用任何 Firebase ML。
如何删除这些库并减小 apk 的大小?
该版本是发布类型并且有混淆规则。
编辑:
相关依赖项:
implementation 'com.google.firebase:firebase-core:17.2.0'
implementation 'com.google.firebase:firebase-ml-vision:23.0.0'
implementation 'com.google.firebase:firebase-ml-vision-image-label-model:18.0.0'
implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-functions:19.0.1'
更新到最新也没关系
您的 gradle 文件中包含什么依赖项?
如果您看到的是 visionkit,那么您可能不小心包含了 com.google.firebase:firebase-ml-vision-object-detection-model 或视觉内部 sdk。
云图像标记所需的唯一依赖项是 com.google.firebase:firebase-ml-vision
我在我的应用中使用 Firebase MLKit,就像这样 FirebaseVision.getInstance().cloudImageLabeler
。
我只使用它的云版本。但是当我查看 apk 时,它包含来自 Firebase 的大型原生库,总共 10Mb,用于 4 种架构。这占我应用程序大小的 80%。它们被命名为每个体系结构 libclassifier_jni.so
。
在使用 objdump -d
进一步检查从 apk 中提取的库后,我发现这些库与设备上的图像标签有关。它有像 Java_com_google_android_libraries_vision_visionkit_recognition_classifier_NativeClassifier_initialize
.
我确定我没有在设备上使用任何 Firebase ML。
如何删除这些库并减小 apk 的大小?
该版本是发布类型并且有混淆规则。
编辑:
相关依赖项:
implementation 'com.google.firebase:firebase-core:17.2.0'
implementation 'com.google.firebase:firebase-ml-vision:23.0.0'
implementation 'com.google.firebase:firebase-ml-vision-image-label-model:18.0.0'
implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-functions:19.0.1'
更新到最新也没关系
您的 gradle 文件中包含什么依赖项?
如果您看到的是 visionkit,那么您可能不小心包含了 com.google.firebase:firebase-ml-vision-object-detection-model 或视觉内部 sdk。
云图像标记所需的唯一依赖项是 com.google.firebase:firebase-ml-vision