2017-10-28 1 views
0

NNAPI 데모를 작성했습니다. 그러나 응용 프로그램이 "java.lang.UnsatisfiedLinkError : dlopen failed :"ANeuralNetworksModel_identifyInputsAndOutputs '기호를 찾을 수 없습니다. "오류로 인해 충돌합니다. 내가 줄을 제거한 후에 ANeuralNetworksModel_identifyInputsAndOutputs (그리고 ANeuralNetworksModel_addOperation과 같은 NNAPI에 대한 다른 줄이 계속 남아 있습니다.) 응용 프로그램이 더 이상 충돌하지 않습니다.안드로이드 8.1 미리보기의 NNAPI에서 ANeuralNetworksModel_identifyInputsAndOutputs에 대한 UnsatisfiedLinkError

내의 minSdkVersion, compileSdkVersion, targetSdkVersion을 모두 27

는 버그, 아니면 그냥 내 잘못인가? 저 좀 도와 주 시겠어요? 미리 감사드립니다. 우수한 솔루션


덕분에 네 개의 선이 휴대 전화 모델을 구축하는 데 필요한, 내가 NNAPI 래퍼 라이브러리 및 데모를 작성했습니다, 다음과 GitHub에 발표했다. 내 프로젝트가 NNAPI에 관심이있는 개발자에게 도움이 되었기를 바랍니다.

답변

3

불행히도 NK API가 변경되어서 NDK 출시 직전에 O MR 1 베타 1에 포함되지 않았습니다. 즉, NDK는 베타 이미지보다 최신입니다. 다음 O 베타 (또는 타임 라인이 무엇인지 확실히 알지 못합니다)가 시작되면이 문제가 해결됩니다.

한편 베타에있는 해당 함수의 이름은 ANeuralNetworksModel_setInputsAndOutputs입니다. 다음과 같은 기능이 작동해야하며 해결 방법을 제거 할 수있는시기를 알려줍니다 (참고 : 일부 베타 수정이 필요할 수 있으므로 베타를 실행하는 장치가 없기 때문에 테스트하지 않았습니다).

// TODO: Remove when O MR1 Beta 2 is available. 
__attribute__((weak)) 
extern "C" int ANeuralNetworksModel_setInputsAndOutputs(
    uint32_t inputCount, const uint32_t* inputs, uint32_t outputCount, 
    const uint32_t* outputs); 

extern "C" int ANeuralNetworksModel_identifyInputsAndOutputs(
    uint32_t inputCount, const uint32_t* inputs, uint32_t outputCount, 
    const uint32_t* outputs) { 
    if (ANeuralNetworksModel_setInputsAndOutputs == nullptr) { 
    __android_log_print(ANDROID_LOG_ERROR, 
     "ANeuralNetworkdModel_setInputsAndOutputs not found. Remove workarounds."); 
    abort(); 
    } 
    return ANeuralNetworksModel_setInputsAndOutputs(
    inputCount, inputs, outputCount, outputs); 
} 
0

이 문제는 SDK 패키지가 올바르지 않아서 발생합니다. SDK 패키지를 최신 패키지로 업데이트하십시오. SDK 관리자가 업데이트를 표시하지 않으면 Android Studio의 파일 메뉴에서 캐시 무효화 및 다시 시작 옵션을 선택하십시오. 이 작업이 완료되면 Android Studio에서 보류중인 SDK 업데이트가 있는지 묻습니다. 업데이트가 설치되면 AVD 관리자가있는 새 가상 장치를 다시 생성하십시오 (가상 장치를 사용하는 경우). 그리고 프로그램은 갈 준비가되어 있습니다 ...

SDK의 \ 시스템-이미지 \ 안드로이드-27 \ google_apis \ 86 \ source.properties

Pkg.Desc=System Image x86 with Google APIs. 
    ****Pkg.Revision=2**** 
    Pkg.Dependencies=emulator#26.1.3 
    ****AndroidVersion.ApiLevel=27**** 
    SystemImage.Abi=x86 
    SystemImage.TagId=google_apis 
    SystemImage.TagDisplay=Google APIs 
    SystemImage.GpuSupport=true 
    Addon.VendorId=google 
    Addon.VendorDisplay=Google Inc.