日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android后台截屏实现(3)--编译screencap

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android后台截屏实现(3)--编译screencap 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

修改好之后就要編譯了,screencap的編譯是要在源碼環境中進行的。

???????? 將修改后的screencap.cpp文件替換源碼中的原始文件,然后修改screencap的Android.mk文件,修改后的文件如下:


[plain]?view plaincopy
  • LOCAL_PATH:=?$(call?my-dir)??
  • include?$(CLEAR_VARS)??
  • ??
  • LOCAL_SRC_FILES:=?\??
  • ????screencap.cpp??
  • ??
  • LOCAL_SHARED_LIBRARIES?:=?\??
  • ????libcutils?\??
  • ????libutils?\??
  • ????libbinder?\??
  • ????libskia?\??
  • ????????libui?\??
  • ????????libgui??
  • ??
  • LOCAL_MODULE:=?libscreencapservice??
  • ??
  • LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib?-llog??
  • ??
  • LOCAL_MODULE_TAGS?:=?optional??
  • LOCAL_CERTIFICATE?:=?platform??
  • ??
  • LOCAL_C_INCLUDES?+=?\??
  • ????external/skia/include/core?\??
  • ????external/skia/include/effects?\??
  • ????external/skia/include/images?\??
  • ????external/skia/src/ports?\??
  • ????external/skia/include/utils??
  • ??
  • include?$(BUILD_SHARED_LIBRARY)??

  • LOCAL_MODULE指定生成文件的名字;

    BUILD_SHARED_LIBRARY告訴編譯器生成文件的類型是動態庫

    -llog引入打印日志的庫


    ??????? 由于修改后的screencap引入了jni.h,去系統安裝的jdk下的找到該頭文件并拷貝到screencap目錄下。1.6版本的jni.h在jdk*/include/下,jni.h又需要jni_md.h,該文件在jdk*/include/linux/下。將這兩個文件一起拷貝到screencap目錄。


    編譯動態庫

    兩種方法:

    1、mm命令

    在screencap目錄下執行

    mm

    2、make命令

    在源碼根目錄執行

    make? libservicescreencap


    一些問題

    由于Android版本升級太快,源碼一旦改動這種截屏方式就會出錯,我在測試時發現,442源碼所編譯的動態庫無法在422系統上實現截屏,甚至都無法在444上截屏,最后還是找了臺442的機器才成功截屏的。因此跟人覺得這種截屏方式不具有普適性。


    原文地址:?http://blog.csdn.net/lingfengxu/article/details/43488653

    總結

    以上是生活随笔為你收集整理的android后台截屏实现(3)--编译screencap的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。