Moja aplikacja używa Here SDK i Twilio SDK. Oba używają rodzimych bibliotek (tutaj SDK z natywnymi bibliotekami lokalnie podłączonymi z/libs i/jniLibs folderów, Twilio SDK podłączonym z jCenter). Ale w systemie Android 5.1 SDK zgłasza wyjątek "BRAK BRAKÓW: libMAPSJNI.so", chociaż ta biblioteka jest obecna w wynikowym pliku APK. Otworzyłem folder, w którym mój program został zainstalowany na urządzeniu i porównałem zawartość w dwóch przypadkach: z lub bez pakietu SDK Twilio. Różnica polega na tym, że po podłączeniu folderu/biblioteki Twilio API jest plik, i z oczywistych względów program ładujący nie widzi w nim natywnych bibliotek potrzebnych do zainicjowania tutaj pakietu SDK. W przypadku usunięcia zależności od grubości Twilio zespół występuje normalnie. Jaki może być powód i jak to naprawić? W razie potrzeby mogę dołączyć projekt testowy z tymi bibliotekamiNatywne biblioteki Gradle nie znaleziono na urządzeniu, ale są obecne w apk
Odpowiedz
Trzeba zmodyfikować build.gradle tak:
android {
(...)
splits {
abi {
enable true
reset()
include 'armeabi-v7a'
universalApk false
}
}
(...)
}
To prawdopodobnie dlatego Twilio SDK obsługuje x86 i TUTAJ SDK obecnie nie obsługuje .
Definiując splits
bloku można powiedzieć Gradle stworzyć APKs for each listed ABI:
include "armeabi", "armeabi-v7a", "x86", "mips"
Ewentualnie można uwzględnić wszystkie żądane Abis w jeden APK dodając następujący filtr:
android {
(...)
defaultConfig {
(...)
ndk {
// allow only 32bit *.so libs
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
}
Oba podejścia wykluczą funkcjonalność 64-bitową, która może kolidować z 32-bitowym HERE SDK, ale ten drugi będzie obsługiwał więcej urządzeń za pomocą jednego pliku APK.
Niektóre biblioteki, jak nowy Android Room Persistence biblioteki 32-bitowe dodać smaki wraz z dwoma 64-bitowych ABI smakach arm64-V8A i x86_64. Od HERE SDK w chwili obecnej zapewnia tylko 32-bitowe lib powinno być bezpieczne, aby wykluczyć 64-bitowe warianty lib. Z drugiej strony oczekuje się, że 64-bitowe urządzenia mogą z wdziękiem obsługiwać 32-bitowe biblioteki.
- 1. Reakcja Natywne foldery na iOS i Android nie są obecne.
- 2. Hadoop natywne biblioteki nie znaleziono na OS/X
- 3. Nie znaleziono folderu NSBundle na urządzeniu, ale działa w symulatorze
- 4. Nie znaleziono biblioteki QWebView
- 5. Jakie znaki NIE są obecne w Unicode?
- 6. Błąd instalacji APK w urządzeniu
- 7. Nie można zainstalować * .apk na urządzeniu "*": Ścieżka lokalna nie istnieje
- 8. Obrazy nie są wyświetlane w urządzeniu, ale w symulatorze
- 9. Nie znaleziono biblioteki "libmaliinstr.so"
- 10. Nie znaleziono biblioteki hostpolicy.dll
- 11. Android Studio instaluje stary apk na urządzeniu
- 12. Podpisany plik APK nie działa na moim urządzeniu.
- 13. Jak zainstalować plik APK na urządzeniu android
- 14. Jak wykryć, czy natywne biblioteki JAI-ImageIo są zainstalowane?
- 15. Zależności Maven2 i biblioteki natywne
- 16. Zmienne środowiska Xcode nie są obecne podczas archiwizacji
- 17. Obrazy wyświetlane w symulatorze, ale nie na urządzeniu iPhone'a
- 18. Pakiet APK Androida nie został zainstalowany w urządzeniu
- 19. Nie znaleziono pakietu biblioteki OpenCV
- 20. Nie znaleziono biblioteki dla -lBolts
- 21. GlassFish loading natywne biblioteki (.dll, .so)
- 22. Widgety pojawiają się na emulatorze, ale nie na prawdziwym urządzeniu.
- 23. Nie znaleziono źródeł biblioteki dla biblioteki scala w Intellijnie
- 24. Wyłączanie łączy WebView działa na emulatorze, ale nie na urządzeniu
- 25. Aplikacja Swift otwiera się na symulatorze, ale nie na urządzeniu
- 26. Jakie funkcje Lisp są obecne w Ruby?
- 27. Xamarin iOS Łączenie natywne działa na symulatorze, duplikaty symboli na urządzeniu
- 28. Nie znaleziono metody Gradle DSL: "classpath()"
- 29. Gradle metoda DSL nie znaleziono: 'multiDexEnabled()'
- 30. „Permission Denied” błąd podczas instalacji apk na urządzeniu
Doskonale, działa. Dziękuję Ci. – Lumen
Hej Artem, dzięki za skakanie tutaj dla społeczności Twilio. Czy możemy wysłać ci koszulkę, aby podzielić się z nami naszą wdzięcznością? Wyślij wiadomość e-mail na adres [email protected], aby uzyskać szczegółowe informacje. –
Dotyczy to innych architektur, których HERE SDK również nie obsługuje (np. Arm64-v8a) – AndrewJC