最近我們使用nativescript來構建應用程序,我們需要使用提供IOS和Android SDK的第三方餅圖庫。 但是,即使我們將.so文件推送到lib文件夾,它也失敗了,錯誤是庫在應用程序運行期間無法找到預期的.so文件。
所以我想知道nativescript是否支持.so文件以及如何使它工作? 在此先感謝。nativescript在android平臺中是否支持.so文件?
回答
目前這個任務並不在tns
CLI自動化,但它應該是可能的*.so
文件複製<project>/platforms/android/libs/jni/armeabi-v7a
和/或<project>/platforms/android/libs/jni/x86
目錄。 Gradle構建尊重這些文件夾,並且*.so
文件將包含在*.apk
包中。
將jni/arm64-v8a,jni/armeabi-v7a,jni/x86文件夾中的* .so文件複製過一段時間。但是,當我將tns核心模塊升級到最新版本時,它停止工作。如果我有jni文件夾,android應用程序將在啓動時沒有任何錯誤地崩潰。 –
將.so文件和.jar文件一起推送的更好方法是使用Android Studio將它們重新打包爲.aar文件。然後將包裝器.aar文件複製到您的nativescirpt平臺/ android/libs文件夾。
以下是將SDK .jar和.so文件打包到aar文件中的步驟。
- 在Android Studio中創建一個空白活動的應用程序。
- 創建一個新的包裝模塊yoursdkwrapper(New-> New Module-> Android Library)。
- 將您的SDK .jar文件複製到MyApplication \ yoursdkwrapper \ libs文件夾中。
- 在MyApplication \ yoursdkwrapper \ src \ main \文件夾下,創建以下目錄結構並將.so文件複製到每個體系結構文件夾:jniLibs/arm64-v8a,jniLibs/armeabi,jniLibs/armeabi-v7a,jniLibs/x86 。
- yoursdkwrapper-debug.aar文件將在您的MyApplication \ epos2wrapper \ build \ outputs \ aar中生成。
除了Karthik Sankar
的回答。 我* .so文件被複制到應用程序,但沒有被引用。
在這種情況下,您需要手動引用所有這些。 java.lang.System.loadLibrary("avcodec");
檢查*.so
文件是否被複制使用Native Libs Monitor
應用程序。
ReLinker
可能也有幫助
- 1. Android平臺是否支持SpatiaLite?
- 2. nativescript是否支持http2?
- 3. Famo.us網絡平臺是否支持phonegap?
- 4. Rust是否支持fork()跨平臺?
- 5. iAd是否支持Cordova iOS平臺?
- 6. 外語支持Android平臺
- 7. 支持Android平臺的硬件架構
- 8. NativeScript是否支持證書鎖定|
- 9. Adwhirl是否支持Android平臺上的Smaato?
- 10. 是否支持構建庫二進制文件(.a/.so)?
- 11. Android API是否支持KML文件?
- 12. localeCompare()平臺支持
- 13. Bing Maps AJAX控件支持所有平臺是否真實?
- 14. Mozilla Fennec是否支持移動平臺中的Addons?
- 15. 在Unity支持的所有平臺上是否提供WWW?
- 16. Android是否支持手錶支持NFC
- 17. Firefox中是否支持Android插件支持WebSocket?
- 18. 是否在Tizen Os中支持Android Installer(.apk文件)?
- 19. nativescript「安裝Android SDK平臺25」失敗
- 20. Confluence是否支持中文?
- 21. 在android中是否支持索引png文件 - 尤其是16位png文件?
- 22. .NET(Mono)是否支持跨平臺文件操作和跨平臺音頻元數據處理(通過庫)?
- 23. Android是否支持Google地圖上的Geo Fencing,以及支持Geo fencing的最早平臺是什麼?
- 24. 缺少平臺支持?
- 25. 跨平臺unicode支持
- 26. Xamarin支持哪些平臺?
- 27. 領域支持的平臺
- 28. ASP.NET MVC3多平臺支持
- 29. 不支持java.awt.Desktop.getDesktop的平臺()
- 30. Android中的天文臺支持庫
您可以閱讀[{N}谷歌組(https://groups.google.com/forum/#!topic更多關於這個話題/ nativescript/p8y2Y_Q4mpc)。 –