欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年08月29日 10:37:07   作者:飯后溫柔  
這篇文章主要給大家介紹了關于android studio 2.3如何編譯動態(tài)庫的過程,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。

前言

最近在工作中需要編譯android下的動態(tài)庫,本以為是一件簡單的事,沒想到因為工具,以及google本身被墻的原因,折騰了好久。

在windows外的平臺搞事情,壽命都得縮短。

過程如下

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

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

1、下載android-ndk,安裝。

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

3、安裝好后啟動,界面上第一行是創(chuàng)建新工程,創(chuàng)建后會卡上10幾分鐘進不去,因為android studio需要下載gradle,而國內是下載不了的,于是她妹的卡了,連個提示都沒有,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、進去之后,你還有2個東西要下。去到菜單欄tools/android/sdkmanager打開,默認會選中左邊導航欄的android sdk選項,右邊界面有3個標簽sdk platform,sdk tools,sdk update sites,選擇中間的sdk tools,    下載cmake,lldb。稍后將用cmake構建c/c++文件。2.3之前的版本還需要配置gradle關聯(lián)到CMakeLists.txt文件,現(xiàn)在不需要了,所以你如果網(wǎng)上搜到一大堆配置文檔就跳過吧。

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

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

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

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

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

你以為完了?遠著呢。在src目錄下,找到CMakeLists.txt文件,手動添加你的.c或.cpp文件,沒錯,就是這么任性,你有多少個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ù)你的源碼文件目錄一個一個添加吧。我在右鍵選項里發(fā)現(xiàn)有new,創(chuàng)建新文件,有import,導入eclipse工程,就是沒有add exisiting files選項加入已存在源碼...

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

10、最右邊的垂直標簽條,點擊build variants,把debug更換為release,編譯release版本。

11、點擊菜單欄build/make moudle...,應該能生成.so文件了。位置在..\app\build\intermediates\cmake\release\obj下。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Android FaceDetector實現(xiàn)人臉檢測功能

    Android FaceDetector實現(xiàn)人臉檢測功能

    這篇文章主要為大家詳細介紹了Android FaceDetector實現(xiàn)人臉檢測功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android在高jar包版本的工程中修改方法

    Android在高jar包版本的工程中修改方法

    android的應用程序安裝包APK如果是在高版本的android jar上開發(fā)的是無法在低版本的android SDK上跑的,那么如何簡單的在高版本的工程中直接修改呢,需要的朋友可以了解下
    2012-12-12
  • Android?廣播接收器BroadcastReceiver詳解

    Android?廣播接收器BroadcastReceiver詳解

    Android開發(fā)的四大組件分別是:活動(activity),用于表現(xiàn)功能;服務(service),后臺運行服務,不提供界面呈現(xiàn);廣播接受者(Broadcast Receive),勇于接收廣播;內容提供者(Content Provider),支持多個應用中存儲和讀取數(shù)據(jù),相當于數(shù)據(jù)庫,本篇著重介紹廣播組件
    2022-07-07
  • 詳解Android Webview加載網(wǎng)頁時發(fā)送HTTP頭信息

    詳解Android Webview加載網(wǎng)頁時發(fā)送HTTP頭信息

    這篇文章主要介紹了詳解Android Webview加載網(wǎng)頁時發(fā)送HTTP頭信息的相關資料,需要的朋友可以參考下
    2017-05-05
  • Android圖片加載框架Gilde源碼層深入分析

    Android圖片加載框架Gilde源碼層深入分析

    Glide就像Picasso,可以從多個源去加載和顯示圖片,同時也兼顧緩存和在做圖片處理的時候維持一個低內存消耗。它已經(jīng)在Google官方APP中使用了,就和Picasso一樣受歡迎
    2022-11-11
  • 一文帶你了解Android系統(tǒng)的啟動流程

    一文帶你了解Android系統(tǒng)的啟動流程

    Android系統(tǒng)的啟動是一個復雜的過程,涉及到多個階段和組件,所以本文將給大家詳細的介紹一下Android系統(tǒng)的啟動流程,文中也有圖片和代碼示例的講解,需要的朋友可以參考下
    2023-09-09
  • android仿華為手機懸浮窗設計

    android仿華為手機懸浮窗設計

    這篇文章主要為大家詳細介紹了android仿華為手機懸浮窗設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android 取得狀態(tài)欄、任務欄高度的小例子

    Android 取得狀態(tài)欄、任務欄高度的小例子

    Android 取得狀態(tài)欄、任務欄高度的小例子,需要的朋友可以參考一下
    2013-05-05
  • android避免彈出軟鍵盤遮蓋listview的簡單方法

    android避免彈出軟鍵盤遮蓋listview的簡單方法

    下面小編就為大家?guī)硪黄猘ndroid避免彈出軟鍵盤遮蓋listview的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Android 動態(tài)添加Fragment的實例代碼

    Android 動態(tài)添加Fragment的實例代碼

    這篇文章主要介紹了Android 動態(tài)添加Fragment的實例代碼的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08

最新評論