AndroidStudio環境下應用程式匯入第三方so庫的方法
通過網上查詢資料,以及自己的嘗試,總結下AndroidStudio環境下,匯入第三方so庫的方法,以及常見的一些問題。
一.步驟
1. 新建Anodroid工程, File->New Project;
2.在彈出介面上選中Include C++ support
3.一路next,直到finish
4.假設要匯入的第三方so庫為libhello.so,在工程目錄app\src\main中新建jniLibs資料夾,
在jniLibs資料夾中建armeabi、mips64等不同的資料夾,取決於三方庫的型別,如果只有32位的庫,只需要建armeabi即可,
將libhello.so置入不同的目錄下;
5.libhello.so對應的標頭檔案,放入cpp目錄即可;
6.修改CMakeLists.txt檔案:
//add
add_library( hello SHARED IMPORTED )
set_target_properties( hello PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libhello.so )
//modify
target_link_libraries( # Specifies the target library. native-lib hello # Links the target library to the log library # included in the NDK. ${log-lib} )7.如果第三方提供的只有32位的庫,則需要修改build.gradle(Module.app)檔案,配置只編譯32位庫:
defaultConfig { applicationId "xxx"8.編譯完成。minSdkVersion 23 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "-std=c++11" } } ndk { abiFilters "armeabi" } }
二.注意事項:
1.庫需要放在jniLibs/armeabi/等目錄下,否則可能發生找不到庫的情況;
2.注意下32位庫與64位的區別,否則可能出現link錯誤。
相關推薦
AndroidStudio環境下應用程式匯入第三方so庫的方法
通過網上查詢資料,以及自己的嘗試,總結下AndroidStudio環境下,匯入第三方so庫的方法,以及常見的一些問題。 一.步驟 1. 新建Anodroid工程, File->New Project; 2.在彈出介面上選中Include C++ support 3.一
Linux下應用程式找不到存在的庫(.so/.a)的解決方法
各種各樣的環境變數控制著一些關鍵的過程。例如你可以臨時為你特定的程式的一次執行指定一個不同的函式庫。Linux系統中,通常變數LD_LIBRARY_PATH就是可以用來指定函式庫查詢路徑的,而且這個路徑通常是在查詢標準的路徑之前查詢。這個是很有用的,特別是在除錯一個新的函式庫
java -jar引數執行打包好的jar應用程式的時候發現應用程式無法找到classpath下設定好的第三方類庫?
你是否在使用java -jar引數執行打包好的jar應用程式的時候發現應用程式無法找到classpath下設定好的第三方類庫的內容?無論怎麼設定classpath引數都無濟於事,總是會報ClassNotFound的錯誤?那麼本篇帖子可以幫助你擺脫煩惱 :)當用java -j
windows下eclipse cdt 無法執行和除錯程式,沒有輸出(除錯和執行時不修改系統變數匯入第三方dll庫)
debug時報錯: You can't do that without a process to debug. 如果直接執行程式則沒有任何結果 原因:windows下待除錯的程式執行時需要引用的動態庫dll檔案沒有找到(雖然編譯時聯結器需要的庫已經給出,但執行時仍然需要給
AndroidStudio匯入第三方開源庫
AndroidStudio還是0.8的版本的時候下載下來看了一下,都推出三年左右的工具了,我竟然沒有用過,昨天打算好好研究一下以便以後轉向AS,畢竟google出的這麼好的IDE,不用都對不起自己。不過真心很好用,尤其黑色的主題風格很舒服,但對於一直使用eclipse的我還是有點不習慣,主要是導包的
記用vs調式docker環境下web程式的一處坑
若選擇web專案支援https,此時launchSettings.json檔案為: "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applic
Linux環境下c程式的編譯和執行
1 單個檔案的編譯和執行建立main.c檔案,內容如下: #include <stdio.h> #include <stdlib.h> int main(void){ printf("Hello world!\n"); return 0; }; 編譯:
三、Spring Boot在org.springframework.boot組下應用程式啟動器
表13.1. Spring Boot應用程式啟動器 名稱 描述 Pom spring-boot-starter-thymeleaf 使用Thymeleaf檢視構建MVC Web應用程式的啟動器
我的 Net下應用程式釋出問題的簡易解決方案
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
關於Linux環境下應用生成圖片中出現亂碼的問題處理
緣由:測試環境和生產環境系統字符集都是LANG=en_US.utf8,程式在測試環境通過下述方式生成的圖片裡面的中文可以正常顯示,生產環境不行,排查原因為生產環境確認對應的字型,採取後續方法增加字型。 1、C:\Windows\Fonts下找到字型檔案simsun.ttc,重新命名為sim
spark應用程式引用第三方的jar包(轉載備用)
第一種方式 操作:將第三方jar檔案打包到最終形成的spark應用程式jar檔案中 應用場景:第三方jar檔案比較小,應用的地方比較少 第二種方式 操作:使用spark-submit提交命令的引數: –jars 要求: 1、使用spark-sub
服務計算-goland環境下CLI程式
專案需求 使用 golang 開發 開發 Linux 命令列實用程式 中的 selpg 傳送門:https://github.com/kotomineshiki/CLI selpg功能 selpg是一個自定義的命令列程式,功能是從原始檔中讀取內容到目標檔案,將包含幾種模式。 說
Win10下應用程式預設管理員許可權執行
系統升級到win10後,普通應用程式不再預設以管理員許可權運行了。當應用程式需要訪問系統盤或調CreateFile函式進行IO驅動操作時,往往會失敗,同時,通過GetLastError函式獲取錯誤碼為5——拒絕訪問,許可權不夠。一般的解決辦法是,右鍵***.
AndroidStudio環境下的jni呼叫(NDK)的方法
Step: 1. 新增native介面注意寫好native介面和System.loadLibrary()即可了,並無特別之處。Step: 2.執行Build->Make Project生成了.
Linux環境下的程式編譯
GCC常用編譯引數•-c:只編譯,不連線成為可執行檔案,編譯器只是由輸入的.c等原始碼檔案生成.o為字尾的目標檔案,通常用於編譯不包含主程式的子程式檔案。•-o output_filename:確定輸出檔案的名稱為output_filename,同時這個名稱不能和原始檔同名。如果不給出這個選項,gcc就給出預
Android應用程式整合第三方API(以高德Map API為例)
在Android應用程式裡面呼叫第三方API服務,可以方便、快速地開發出我們想要的一些功能。由於某些眾所周知的原因,現在Google的各種服務基本上被封鎖了,因此我們以高德Map API為例,講解如何
Windows環境下MPI程式的編譯以及執行
然後按照README和網上的指示,安裝完MPICH2之後,系統中應該會出現一個名為smpd的服務程序。我多次重新安裝了MPICH2,用工作管理員檢視系統中的程序,始終沒有發現smpd這個程序;在安裝目錄下找到該程式,直接雙擊執行也失敗。在此情況下,執行並行程式時,會出現如下的錯誤提示:”Error: No
WPF應用程式嵌入第三方exe
思路是,第一步:在自己的應用程式中準備顯示第三方控制元件的容器,Border,Grid什麼的都可以,下面是觸發程式碼 private void button_Click(object sender, RoutedEventArgs e) {
linux環境下Jboss程式部署
一 環境1 作業系統:centOS 72 web伺服器:jboss-eap-6.23 框架:jfinal4 工具1 Xshell2 putty 二 編譯war包使用eclipse工具,自行編譯系統,生
Android Studio匯入第三方類庫、jar包和so庫
http://blog.csdn.net/lincyang/article/details/43951527/ 第三方類庫原始碼 將一網友的XMPP程式碼從ADT轉到AS時,發現其使用了第三方類庫,原始碼放在了lib下,直接在AS中Import project,第三方