我在我的应用程序中使用了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的大小?
构建的类型是release,并且有前卫规则。
编辑:
相关依赖关系:
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'如果我更新到最新版本也没什么不同。
发布于 2019-12-11 01:21:28
您在gradle文件中包含了什么依赖项?
如果你看到的是visionkit,那么你可能无意中包含了com.google.firebase:firebase-ml-vision-object-detection-model或者vision内部sdk。
标记云图所需的惟一依赖项是com.google.firebase:firebase-ml-vision
https://stackoverflow.com/questions/59241853
复制相似问题