国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

android studio2.3如何編譯動(dòng)態(tài)庫的過程詳解

2019-12-12 02:09:05
字體:
供稿:網(wǎng)友

前言

最近在工作中需要編譯android下的動(dòng)態(tài)庫,本以為是一件簡單的事,沒想到因?yàn)楣ぞ撸约癵oogle本身被墻的原因,折騰了好久。

在windows外的平臺(tái)搞事情,壽命都得縮短。

過程如下

一種方案是用eclipse+ndk+adt插件,總之是eclipse下適配android ndk的一套東西,我搜了一些文檔,看到一大堆冗余的名字,文件,感覺不對味,放棄。

另一種方案是android studio,初看覺得是大公司出品,且針對的是自家系統(tǒng)的IDE,能保持個(gè)一貫性,沒想到各個(gè)版本差別挺大,一時(shí)換一套編譯底層,一時(shí)換一套構(gòu)建系統(tǒng),菜單變換也大,姑且算你迭代很快,不過都出來這么多年了,為啥就不能像visual studio看齊?搞得我在網(wǎng)上搜各種文檔還得仔細(xì)區(qū)分版本,特別是你不熟悉時(shí),簡直是斗智斗勇。

1、下載android-ndk,安裝。

2、下載android studio 2.3,安裝過程會(huì)提示你選擇ndk目錄以及sdk目錄,自帶了android sdk,建議就用它自帶的sdk,不然十有八九又搞出事情。

3、安裝好后啟動(dòng),界面上第一行是創(chuàng)建新工程,創(chuàng)建后會(huì)卡上10幾分鐘進(jìn)不去,因?yàn)閍ndroid studio需要下載gradle,而國內(nèi)是下載不了的,于是她妹的卡了,連個(gè)提示都沒有,vpn重連也沒用。所以得去gradle官    網(wǎng)下,這里你還得選擇gradle版本,如何查看版本,又是一件蛋疼的事。我是去到C:/Users/用戶名/.gradle/wrapper/dists下看到gradle-3.3-all文件夾,選擇了下載3.3-all版本,然后把下載到的壓縮文件放到              C:/Users/用戶名/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9下,才終于順利通過這一步。

4、創(chuàng)建工程界面,選擇c++ support。

5、進(jìn)去之后,你還有2個(gè)東西要下。去到菜單欄tools/android/sdkmanager打開,默認(rèn)會(huì)選中左邊導(dǎo)航欄的android sdk選項(xiàng),右邊界面有3個(gè)標(biāo)簽sdk platform,sdk tools,sdk update sites,選擇中間的sdk tools,    下載cmake,lldb。稍后將用cmake構(gòu)建c/c++文件。2.3之前的版本還需要配置gradle關(guān)聯(lián)到CMakeLists.txt文件,現(xiàn)在不需要了,所以你如果網(wǎng)上搜到一大堆配置文檔就跳過吧。

6、下載后,經(jīng)常會(huì)便秘,你很可能需要重啟android studio, 不然新下的庫找不到,同步是沒有用的。

7、接下來需要配置路徑了。首先左邊是project視圖,在文件樹下找到local.properties,追加ndk的路徑,雖然你已經(jīng)在創(chuàng)建工程時(shí)選過,但這里還是得填:

ndk.dir=D/://sdk//Android//android-ndk-r14b

8、接下來添加c/c++源碼文件,你在左邊的project視圖下,找到app/src/main/cpp文件夾,你的源碼需要放到這個(gè)目錄下,去硬盤上找到對應(yīng)的目錄把代碼拷進(jìn)去。

然后在視圖右鍵點(diǎn)擊app目錄,應(yīng)該有個(gè)synchronize ‘a(chǎn)pp'選項(xiàng),點(diǎn)擊同步,在cpp下應(yīng)該可以刷出來你新加的源碼了。這里如果是新建工程,記得把native-lib.cpp示例文件刪除,不要直接在硬盤刪除,通過     ide里右鍵點(diǎn)擊delete,不然很可能又抽一次瘋。

你以為完了?遠(yuǎn)著呢。在src目錄下,找到CMakeLists.txt文件,手動(dòng)添加你的.c或.cpp文件,沒錯(cuò),就是這么任性,你有多少個(gè)c文件,就要加多少行如下:

add_library( # Sets the name of the library.  native-lib  # Sets the library as a shared library.  SHARED  # Provides a relative path to your source file(s).  src/main/cpp/lapi.c  src/main/cpp/lauxlib.c  src/main/cpp/lbaselib.c  )

如以上在add_library下添加源碼。然后你還得添加頭文件目錄如下:

# Specifies a path to native header files.include_directories(src/main/cpp/)

與add_library并列,這里根據(jù)你的源碼文件目錄一個(gè)一個(gè)添加吧。我在右鍵選項(xiàng)里發(fā)現(xiàn)有new,創(chuàng)建新文件,有import,導(dǎo)入eclipse工程,就是沒有add exisiting files選項(xiàng)加入已存在源碼...

9、接下來你可能需要更改動(dòng)態(tài)庫名,還是在CMakeLists.txt文件里搜索native-lib,都替換為你需要的名字,具體含義自己去搞清楚吧,不贅述了。

10、最右邊的垂直標(biāo)簽條,點(diǎn)擊build variants,把debug更換為release,編譯release版本。

11、點(diǎn)擊菜單欄build/make moudle...,應(yīng)該能生成.so文件了。位置在../app/build/intermediates/cmake/release/obj下。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永胜县| 札达县| 莒南县| 天祝| 通海县| 安平县| 湘潭县| 香河县| 临猗县| 新绛县| 武安市| 北京市| 富阳市| 柞水县| 泰宁县| 三亚市| 武川县| 澄迈县| 招远市| 民勤县| 青铜峡市| 高邮市| 蓬莱市| 克拉玛依市| 福州市| 神池县| 平罗县| 武胜县| 霍山县| 东城区| 汝阳县| 东港市| 凯里市| 翁牛特旗| 长寿区| 定日县| 蒙山县| 永城市| 两当县| 栾城县| 永善县|