INSTALL_FAILED_MISSING_SHARED_LIBRARY Menyebabkan aplikasi tidak dipasang
Saya mendapatkan kesalahan
More than one file was found with OS independent path 'lib/x86_64/libopencv_java3.so'. If you are using jniLibs and CMake IMPORTED targets, see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake
tautan membawa saya ke halaman dengan catatan rilis untuk android 4.2, jadi tidak ada alasan untuk masalah saya,
Saya menggunakan pustaka Documentscanner buitl dengan opencv dan yang menggunakan jnilibs dan masalah yang saya miliki adalah dengan jnilibs itu
begitu
Saya melihat-lihat Panduan Pengembang Android dan menemukan ini
Automatic packaging of prebuilt dependencies used by CMake
Prior versions of the Android Gradle Plugin required that you explicitly package any prebuilt libraries used by your CMake external native build by using jniLibs. You may have libraries in the src/main/jniLibs directory of your module, or possibly in some other directory configured in your build.gradle file:
sourceSets {
main {
// The libs directory contains prebuilt libraries that are used by the
// app's library defined in CMakeLists.txt via an IMPORTED target.
jniLibs.srcDirs = ['libs']
}
}
With Android Gradle Plugin 4.0, the above configuration is no longer necessary and will result in a build failure:
* What went wrong:
Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> More than one file was found with OS independent path 'lib/x86/libprebuilt.so'
External native build now automatically packages those libraries, so explicitly packaging the library with jniLibs results in a duplicate. To avoid the build error, move the prebuilt library to a location outside jniLibs or remove the jniLibs configuration from your build.gradle file.
Jadi sekarang setelah mengikuti IE di atas Memindahkan perpustakaan / menghapus dari gradle.build saya dll. Aplikasi membangun dan mulai menginstal tetapi kemudian saya mendapatkan kesalahan
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_MISSING_SHARED_LIBRARY
Bantuan akan sangat dihargai
Jawaban
Silakan ikuti jawaban ini .
Berdasarkan https://developer.android.com/studio/projects/gradle-external-native-builds#jniLibs
Jika Anda menggunakan Android Gradle Plugin 4.0, pindahkan pustaka apa pun yang digunakan oleh target CMake IMPORTED dari direktori jniLibs Anda untuk menghindari kesalahan ini.
Jadi Anda hanya perlu memindahkan folder $ {ANDROID_ABI} /libdlib.so ke tempat lain seperti membuat nama direktori baru cmakeLibs
misalnya:
set_target_properties( dlib PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../cmakeLibs/${ANDROID_ABI}/libdlib.so )
Lihat - https://developer.android.com/studio/projects/gradle-external-native-builds#jniLibs
Saya telah menyelesaikan ini dengan mengimpor modul opencv terbaru secara manual, masalahnya adalah bahwa opencv yang disertakan dalam perpustakaan yang saya gunakan sudah usang.
jika Anda mendapatkan kesalahan yang sama (atau saya akan merekomendasikan melakukan ini jika Anda mengalami masalah dengan opencv)
Beginilah cara saya memperbaikinya
Menghapus semua perpustakaan dan modul yang berkaitan dengan kesalahan (Opencv dll)
Kemudian unduh modul android openCV dan impor
kemudian impor pustaka yang menggunakan openCV (Dalam kasus saya itu adalah AndroidScannerDemo oleh jhansireddy di github)
dan terakhir Sesuaikan kode Anda untuk menggunakan perpustakaan yang Anda gunakan