android 4.3 操作源碼實現系統截屏(暫無移植性)

來源:互聯網
上載者:User

(轉載請註明出處:http://blog.csdn.net/buptgshengod)1.背景

       android系統的系統截屏功能是google封裝起來的,也是大家都很想獲得的,經過一個多月的漫長研究,博主終於成功的在android新版本也就是4.3以上版本實現了系統截屏。如果大家想更好的瞭解這些知識,我建議您先把android截屏源碼捕獲以及android截屏嘗試方法總結看完再來接著看。下面這種方法是接著上面兩篇部落格的內容。首先先奉獻一張我的。


2.需要滿足的條件

     1.root的手機

     2.android4.1以上源碼

     3.基本的刷機知識,或是用刷機軟體


3.主要步驟     (1) 編譯自己的系統

               因為控制截屏功能的SurfaceControl在源碼中是@hide隱藏起來了(詳見android截屏源碼捕獲)。我們要將這個檔案裡面的所有注釋資訊全部刪除,事實證明只刪除“@hide”是無法編譯通過的。然後通過shell進入源碼目錄執行

source build/envsetup.sh
(啟用make,mm等命令)


再執行(選擇版本,沒有可不必)

lunch

之後執行

make -j6

將產生的系統燒到手機中。(網上有教程)


    (2)編譯自己的sdk

               接著上面的make完之後,執行以下命令,產生自己的去掉SurfaceControl中“@hide”的sdk。

make PRODUCT-sdk-sdk
         編譯完sdk將其匯入eclipse,如果我們建立工程import android.view.SurfaceControl;不報錯,說明sdk產生成功。
              

          

         之後就可以通過返回bitmap獲得螢幕。

bp=SurfaceControl.screenshot(width,length);

             

              但是,這個工程不能在eclipse裡編譯,因為我們要在AndroidManifest.xml中加入以下代碼,使得程式是系統級的app。

android:sharedUserId="android.uid.system"

     

      (3)源碼中編譯app

                 將調試好的app(可以用我提供的版本),放到源碼目錄/packages/apps下面。編寫Android.mk檔案(根據需要自己修改)

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)#LOCAL_DEX_PREOPT := falseLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_PACKAGE_NAME := SimpleScreenshotLOCAL_CERTIFICATE := platforminclude $(BUILD_PACKAGE)

LOCAL_CERTIFICATE := platform
上面這句表明是系統層級的app


                用命令mm進行編譯,將產生的apk通過adb shell命令push到手機的/system/apps裡就可以了。




提供一個demon供參考吧,這個是我從網上找的,然後修改成4.3能用的,不懂的可以留言討論。

資源下載


 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.