我在我的应用中使用Firebase MLKit,就像FirebaseVision.getInstance().cloudImageLabeler
。
我仅使用它的云版本。但是,当我看一下apk时,它包括Firebase的大型本机库,总共有4种架构的10Mb内存。这占我应用程序大小的80%。每个架构的名称分别为libclassifier_jni.so
。
[使用objdump -d
进一步检查了从apk提取的库后,我发现它们与设备图像标记有关。它具有Java_com_google_android_libraries_vision_visionkit_recognition_classifier_NativeClassifier_initialize
之类的符号。
我确定我没有在设备上使用任何Firebase ML。
如何删除这些库并减小apk的大小?
内部版本为release,并且具有proguard规则。
编辑:
相关依赖项:
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或vision内部SDK。
您需要对云图像加标签的唯一依赖项是com.google.firebase:firebase-ml-vision