android后台截屏實現(1)--源碼編譯


       前段時間接到任務要實現后台截圖並上傳的功能,在網上查了好久,發現遇到這類問題的人還不少。經過一番對比后發現還是修改並編譯源碼中的screencap類然后通過JNI來調用這種方法比較可靠,而其他的在java層實現的基本都是只能截取Activity,在service里是不行的,還有一個是在java層去讀取framebuffer然后解析什么的,原理上和screencap是一樣的,但是看到最后發現博主把關鍵的一步(把讀取到的數據轉換程像素)省略了,於是只好老老實實來用screencap了。


       選擇好方向接下來就看路要怎么走了。要在源碼中編譯,首先要有源碼,由於特殊原因想直接下載源碼比較困難,剛好同事有一份4.4.2的,於是就直接拿來用了,其實她也是在網上下的別人分享的,不過能用就好。源碼包不到4G,解壓后8G+。



編譯環境:

ubuntu14.04  64位:當時個人電腦上剛好在用這個

JDK1.6  64位:必須這個版本,而且必須是oracle的(最起碼這個版本的源碼是這樣)。



         由於編譯源碼需要很多的依賴庫,所以先安裝他們,免得幾分鍾一出錯:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-glx  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev lib32readline6-dev gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib

(這是從參考鏈接里copy過來的,我當時安裝的只是其中一部分,因為我有些庫我早就安裝過了)


安裝好依賴庫之后就可以開始編譯了。


切換到源碼所在目錄,執行

source build/envsetup.sh

然后執行

lunch

選擇一個要編譯的類型

1

執行

make

此時源碼就開始編譯了。

如果該安裝的庫都安裝了,編譯過程一般不會出現什么問題,幾個小時后就編譯完了。

至此,安裝源碼編譯部分完成。


 

oracle下載老版本的jdk需要注冊,略顯麻煩,我把我下的放網盤了

鏈接: http://pan.baidu.com/s/1jG45Veu 密碼: muc2


參考鏈接:Android 編譯環境配置搭建(Ubuntu 12.04)及環境導致編譯錯誤QA


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM