1. 程式人生 > >AndroidStudio中配置NDK開發環境和編譯Fresco

AndroidStudio中配置NDK開發環境和編譯Fresco

本文記錄在 AndroidStudio 中配置 NDK 開發環境並編譯 Fresco 原始碼。
有兩種方法可以檢視 Fresco 的原始碼,第一種是比較常見的,在AndroidStudio 中通過 Gradle 的 compile 匯入 Fresco,然後就能檢視 Fresco 的原始碼了,第二種是通過 下載 github 上的 Fresco 原始碼,在本地編譯使用。兩種方法並沒有太大區別,稍有不同的就是本地編譯的方式可以檢視官方給出的demo效果並且專案目錄結構比較清晰,方便整理,為了持續深入研究Fresco原始碼,於是選擇第二種方式,在本地編譯 Fresco,下面記錄了本地編譯的過程和遇到的問題以及解決辦法

使用工具:

  • OS X 10.11
  • AndroidStudio 1.5.1
  • Fresco 0.7.0

配置NDK

在之前版本的 AndroidStudio (大概是1.3之前)中對 NDK 的支援不是很完善,需要手動下載 Android NDK 並進行相關配置,而在之後的版本中逐漸完善了對 NDK 的支援,可以在 AndroidStudio 的 SDK Manager 中直接下載 NDK 並進行相關配置

下載 NDK

在 AndroidStudio 中首先開啟 SDK Manager 找到 SDK Tools 可以看到如下圖所示的 Android NDK 如果之前沒有勾選,說明還沒有下載 NDK 需要勾選然後下載
這裡寫圖片描述

等待下載完成,就可以在sdk目錄中看到下載的 ndk 的目錄 ndk-bundle:

這裡寫圖片描述

配置環境變數

mac下的環境變數在當前使用者目錄的 .bash_profile 檔案中,因此需要在這個檔案中新增 ndk 的環境變數,步驟如下:

  • 定位到.bash_profile檔案
    啟動終端Terminal,一般預設啟動時就是在當前使用者的目錄,所以接下來直接輸入
open .bash_profile

注:如果是第一次使用,可能還沒有這個檔案,所以需要先建立這個檔案

touch .bash_profile
open .bash_profile
  • 新增 NDK 的路徑到環境變數中

    新增如下內容到.bash_profile檔案中:

export ANDROID_SDK_ROOT=/Users/TC/Dev/Android/sdk
export ANDROID_NDK_ROOT=/Users/TC/Dev/Android/sdk/ndk-bundle
export ANDROID_TOOL=/Users/TC/Dev/Android/sdk/platform-tools
export PATH=$ PATH:$ ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
export PATH=$PATH:$ANDROID_TOOL

從上面的內容可以看到,其中 ANDROID_SDK_ROOT 這個變數指向的是 sdk 的資料夾路徑,而ANDROID_NDK_ROOT變數指向的是 ndk 的資料夾路徑,然後還有個ANDROID_TOOL指向的是platform-tools資料夾的路徑,接下來儲存並退出,在終端執行更新的命令:

source .bash_profile
  • 驗證是否新增成功
    在終端執行
ndk-build

如果有反應,則說明配置成功,如下圖:
這裡寫圖片描述

編譯Fresco

配置好 NDK 後,就可以開始編譯 Fresco 原始碼了,首先從 從github下載Fresco原始碼 下載完成,開始在 AndroidStudio 中匯入專案,首先開啟AndroidStudio,選擇 File->Open-> 選擇 Fresco 資料夾,等待 AndroidStudio 匯入並編譯,在編譯的時候可能會出現一些問題,下面是我遇到的一個問題,以及解決辦法:

錯誤描述:

Execution failed for task ‘:imagepipeline:ndk_build_gifimage’,
> A problem occurred starting process ’ command’ ndk-build”

錯誤原因:ndk-build 路徑錯誤導致找不到 ndk-build

解決辦法:

  • 定位到 Fresco的資料夾下 -> imagepipeline 目錄 -> build.gradle 檔案
  • 用文字編輯器開啟
  • 找到如下程式碼:
def getNdkBuildName() {
    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
        return "ndk-build.cmd"
    } else {
        return "ndk-build"
    }
}
  • 修改為如下:
def getNdkBuildName() {
    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
        return "ndk-build.cmd"
    } else {
        //將 ndk-build 的路徑修改為絕對路徑
        return "/Users/TC/Dev/Android/sdk/ndk-bundle/ndk-build"
    }
}

按照以上步驟修改,然後儲存,在 AndroidStudio 中 Rebuild 一下,基本就能解決這個問題。

完成以上操作,就能順利的編譯 Fresco 的原始碼了

參考資料:

相關推薦

AndroidStudio配置NDK開發環境編譯Fresco

本文記錄在 AndroidStudio 中配置 NDK 開發環境並編譯 Fresco 原始碼。 有兩種方法可以檢視 Fresco 的原始碼,第一種是比較常見的,在AndroidStudio 中通過 Gradle 的 compile 匯入 Fresco,然後就能

webpack -- 關於proxyTable的配置開發環境生產環境的原理解析

前言 首先,proxyTable是我們在本地開發環境中除錯介面用的,目的是為了解決本地跨域的問題,因為本地地址為localhost:xxxx/xxx 在線上的生產環境是沒用的!!! 假設我們用的是vue-cli命令列工具生成的webpack專案模板

AndroidStudio gradle:3.2.0配置NDK開發環境

AndroidStudio gradle:3.2.0配置NDK開發環境 最近這段時間在學習Android開發人臉識別,踩了很多坑,也學到挺多東西的,第一篇筆記,記錄一下NDK環境搭建。 首先開啟SDK 然後下載這三個東西,是搭建環境需要的包正常情況下這樣就可以了,我們開啟File

windows通過Visual Studio Code配置GO開發環境(轉)

fin gpe def 微軟 sqs oba 安裝插件 包括 ont 一、GO語言安裝 詳情查看:GO語言下載、安裝、配置 二、GoLang插件介紹 對於Visual Studio Code開發工具,有一款優秀的GoLang插件,它的主頁為:https://gith

在 Win10 配置 Linux 開發環境

很多公司開發用的作業系統是 windows,但 windows 的終端實在難用。win10 釋出初期就集成了 linux 子系統,當時還是 beta 版,目前(2018-09-20,我當前 windows 版本號是 1803,作業系統版本是 17134.285)be

在Visual Studio Code配置GO開發環境

轉自:https://www.cnblogs.com/zsy/archive/2016/02/28/5223957.html一、GO語言安裝二、GoLang外掛介紹這款外掛的特性包括:Colorization 程式碼著彩色Completion Lists 程式碼自動完成(使用

Windows配置Metabase開發環境

Windows中配置Metabase開發環境:Win10版 安裝win10 子系統Linux metabase需要在linux環境下編譯,我們可以使用mac或者linux系統的電腦進行開發,在windows中可以藉助Win10版子系統來進行開發,具體的安裝教程可以參

VS2008配置NDK開發環境

    看到很多網上的文章都有寫VS配置NDK開發環境,我是參考了其中的一篇文章,連線是點選開啟連結。但是這篇文章裡面的配置不能關聯Application.mk檔案。所以覺得不是很方便,經過一陣摸索,終於找到一個可以 關聯Application.mk檔案的方法。軟體準備:1、

在sublime text3配置python3開發環境

一、安裝sublime text3 1、在百度搜索sublime text3 2、我選擇的是win64位 3、雙擊進行安裝 4、設定安裝路徑 5、勾選Add to explorer cont

AndroidStudioNDK開發初探

前段時間由於做專案緊,一直都沒時間寫部落格,現在終於可以補上一篇了,一直想學習一點NDK開發的知識,但是遲遲沒有動手,正好有一個NDK相關的專案機會,便查閱了一些資料,遂將學習的一些心得方法記錄於此。 其實寫這篇部落格還有一個目的,在我搜尋NDK相關學習資料的

Webpack配置區分開發環境生產環境

  在專案開發的時候,我們通常會將程式分為開發環境和生產環境(或者叫線上環境),開發環境通常指的是我們正在開發的這個階段所需要的一些環境配置,也就是方便我們開發人員除錯開發的一種環境;生產環境通常指的是我們將程式開發完成經過測試之後無明顯異常準備釋出上線的環境,也可以理解為使用者可以正常使用的就是生產環境;

AndroidStudio如何配置NDK/JNI開發環境

參考文章: http://www.th7.cn/Program/Android/201509/550864.shtml http://www.open-open.com/lib/view/open1451917048573.html http://blog.csdn.ne

IDEA配置Scala開發編譯環境

org 如果 官網 本地 菜單 網絡 all 編譯 mil 安裝JDK 因為Scala是運行在JVM平臺上的,所以安裝Scala之前要安裝JDK。 安裝Scala Windows安裝Scala編譯器 訪問Scala官網http://www.s

在Editplus配置java的(帶包)編譯(javac)執行(java)的方法

會有 post 快捷方式 java程序 技術分享 不能 安裝路徑 一行 提示符 配置的前提是電腦安裝了JDK而且配置好了相關的環境變量(JAVA_HOME,path和classpath)。 配置好後在命令行中輸入javac和java驗證是否配置成功: 假設出現上

Android Studio 2.2 ndk開發環境 gradle配置

AndroidStudio2.2中 對於ndk/jni 建議使用cmake進行編譯 而對於純粹的android程式設計師來說,cmake不是經常接觸的方案,我在遇到jni相關時也遇到了一些問題,這裡拋磚引玉吧 開發環境: Android SDK/NDK Android St

STM32串列埠通訊使用printf傳送資料配置方法(開發環境 Keil RVMDK)

出處:STM32串列埠通訊中使用printf傳送資料配置方法(開發環境 Keil RVMDK) http://home.eeworld.com.cn/my/space-uid-338727-blogid-47176.html 在STM32串列埠通訊程式中使用printf傳送資料,非常的方便。

Windsor10配置java開發環境(環境變數開機自啟)

Windows10配置以下路徑和環境(基本路徑安裝就不過多闡述了) 1:JDK 2:Tomcat 3:MySQL 4:Redis 5:Zookeeper 1-JDK換件變數的安裝 1新建環境變數和變數值 JAVA_HOME C:\Program Files\Java\

Tex-Live安裝及SublimeText 配置Tex-Live編輯編譯環境

前言 最近,看了很多外國文件,看到得格式,很多都是使用latex去書寫了,之前也裝過Latex中國版的,就是ctex,但是ctex套件內嵌的MiKTeX包管理器功能太弱了,有些巨集包識別不出來,在編譯的過程也經常報錯,這裡就改用大一點的TeX-Live2018版

AndroidStudio NDK之使用OpenCV——第一節】使用AndroidStudio搭建OpenCV的NDK開發環境

一、OpenCV介紹   OpenCV是一個基於開源的跨平臺計算機視覺庫,實現了許多影象處理和計算機視覺方面的通用演算法,是計算機視覺領域最有力的研究工具之一。    OpenCV應用領域:人機互動 物體識別 影象分割 人臉識別 動作識別 運動跟蹤 機器人 運

springboot不同環境,不同配置的實現(開發環境生產環境的切換)

首先,是我實現的最終效果圖可以看到這裡配置了3個application,其中第一個是總的配置,第二個是開發環境,第三個是生產環境。總的配置總是會生效的,而另外兩個配置生效的條件,則要看看我們在總的配置裡配置了什麼,比如這裡,我在application.yml裡配置了開發環境s