应用在之前的版本中运行正常:
implementation 'com.huawei.hms:ml-computer-vision-segmentation:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-multiclass-model:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-body-model:2.2.0.300'
当我更新到3.0.0.301版本时:
implementation 'com.huawei.hms:ml-computer-vision-segmentation:3.0.0.301'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-multiclass-model:3.0.0.301'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-body-model:3.0.0.301'
应用崩溃了,我收到了以下消息:
2021-08-04 00:35:50.103 32383-32383/maa.abc.background_changerE/ActivityThread: Failed to find provider info for com.huawei.hms
2021-08-04 00:35:50.109 32383-32383/maa.abc.background_changerE/AbstractInitializer: huawei_module_mlkit_imgseg -> No need to switchbecause the context of the dynamic module is null or the context offull sdk
2021-08-04 00:35:50.109 32383-32383/maa.abc.background_changerE/AbstractInitializer: huawei_module_mlkit_imgseg -> The context of the dynamic module belongs to LOCAL
2021-08-04 00:35:50.156 32383-32383/maa.abc.background_changerE/HIAI_DDK_MSG: /AiDllParser.cpp Load(45)::”dlopen load libfailed,lib[/system/lib64/libhiai_foundation.huawei.so],errmsg [dlopenfailed: can’t read file”/data/app/~~tmU2wHTAY38LvsdjeofDpA==/maa.abc.background_changer-QDVrIWUG8BkHCusrq3t_HQ==/lib/arm64″:Is a directory]”
2021-08-04 14:02:10.286 7082-7082/? E/HIAI_DDK_MSG:/hiai_foundation_dl_helper.cHIAI_Foundation_GetSymbol(50)::”HIAI_Foundation_GetSymbol error.”
2021-08-04 14:02:10.286 7082-7082/? E/HIAI_DDK_MSG: /hiai_version.cHIAI_GetVersion(66)::”sym HIAI_GetVersion not found.”
2021-08-04 14:02:10.286 7082-7082/? E/HIAI_DDK_MSG: /AiDllParser.cppLoad(38)::”Load realpath failed in line 38″
2021-08-04 14:02:10.286 7082-7082/? E/HIAI_DDK_MSG: /AiDllParser.cppLoad(45)::”dlopen load libfailed,lib[/vendor/lib64/libai_client.so],errmsg [dlopen failed: can’tread file”/data/app/~~mbQecxD1bZ8erjK-NEO8yw==/com.hauwei.mlkit.sample.gesturechangebackground-2NSWslAh4_jWMK0KxcOV1g==/lib/arm64″:Is a directory]”
2021-08-04 14:02:10.286 7082-7082/? E/HIAI_DDK_MSG: /AiDllParser.cppLoad(38)::”Load realpath failed in line 38″
2021-08-04 14:02:10.286 7082-7082/? E/HIAI_DDK_MSG: /AiDllParser.cppLoad(45)::”dlopen load libfailed,lib[/system/lib64/libhiai_foundation.huawei.so],errmsg [dlopenfailed: can’t read file”/data/app/~~mbQecxD1bZ8erjK-NEO8yw==/com.hauwei.mlkit.sample.gesturechangebackground-2NSWslAh4_jWMK0KxcOV1g==/lib/arm64″:Is a directory]”
2021-08-04 14:02:10.287 7082-7082/? E/HIAI_DDK_MSG:/ops_kernel_store_manager.cpp LoadComputeLibrary(396)::”hook functionInitialize failed”
2021-08-04 14:02:10.287 7082-7082/? E/HIAI_DDK_MSG:/ops_kernel_store_manager.cppRegComputeLibrary(303)::”RegComputeLibrary call LoadComputeLibraryfail”
2021-08-04 14:02:10.287 7082-7082/? E/V1CL: /rom_interface.cppOpenClient(46)::”Open libai_client.so failed, error: dlopen failed:library “/vendor/lib64/libhiai_foundation.so” not found”
2021-08-04 14:02:10.287 7082-7082/? E/V1CL: /aicpv1cl_initialize.cppInit(29)::”OpenClient failed”
2021-08-04 14:02:10.287 7082-7082/? E/HIAI_DDK_MSG:/ops_kernel_store_manager.cpp LoadComputeLibrary(396)::”hook functionInitialize failed”
2021-08-04 14:02:10.287 7082-7082/? E/HIAI_DDK_MSG:/ops_kernel_store_manager.cppRegComputeLibrary(303)::”RegComputeLibrary call LoadComputeLibraryfail”
2021-08-04 14:02:10.380 7082-7082/? A/libc: Fatal signal 11 (SIGSEGV),code 1 (SEGV_MAPERR), fault addr 0x0 in tid 7082 (hangebackground),pid 7082 (hangebackground)
以下是我的代码示例:
public class ImageSegmentation { private MLImageSegmentationAnalyzer analyzer; public void analyzer(Bitmap src, MLCallBack mlCallBack) { MLImageSegmentationSetting setting = new MLImageSegmentationSetting.Factory() .setExact(true) .setAnalyzerType(MLImageSegmentationSetting.BODY_SEG) .setScene(MLImageSegmentationScene.FOREGROUND_ONLY) .create(); this.analyzer = MLAnalyzerFactory.getInstance().getImageSegmentationAnalyzer(setting); MLFrame mlFrame = new MLFrame.Creator().setBitmap(src).create(); Task<MLImageSegmentation> task = this.analyzer.asyncAnalyseFrame(mlFrame); task.addOnSuccessListener(imageSegmentationResult -> { if (imageSegmentationResult != null) mlCallBack.onMLCompleted(imageSegmentationResult); else mlCallBack.onMLFailed(); }).addOnFailureListener(e -> mlCallBack.onMLFailed()); }}
Gradle :
repositories { jcenter() mavenCentral() google() maven { url "https://jitpack.io" } maven { url "http://dl.bintray.com/vsmaks/maven" } maven { url "http://dl.bintray.com/dasar/maven" } maven { url 'https://developer.huawei.com/repo/' } maven() { url "https://oss.sonatype.org/content/repositories/snapshots" } maven { url "http://dl.bintray.com/piasy/maven" }}dependencies { classpath 'com.android.tools.build:gradle:4.2.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"}
Android Studio版本:Android Studio Arctic Fox 2020.3.1
谢谢。
应用在以下设备上崩溃:
华为P8 Lite 2017运行Android 8.0
小米POCO X3 NFC运行Android 11.0
回答:
感谢您的反馈。研发团队确认3.0.0.301版本存在问题。因此,建议您使用ML Kit的早期版本,当前文档已进行相应修改。
如需更多详情,您可以参考此文档。