100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android screencap 源码 android后台截屏实现(3)--编译screencap

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

时间:2020-07-13 06:32:18

相关推荐

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

修改好之后就要编译了,screencap的编译是要在源码环境中进行的。

将修改后的screencap.cpp文件替换源码中的原始文件,然后修改screencap的Android.mk文件,修改后的文件如下:

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的机器才成功截屏的。因此跟人觉得这种截屏方式不具有普适性。

android后台截屏实现(2)--screencap源码修改

首先找到screencap类在Android源码中的位置,/442/frameworks/base/cmds/screencap/screencap.cpp 源码如下: /* * Copyright ...

android后台截屏实现(1)--源码编译

前段时间接到任务要实现后台截图并上传的功能,在网上查了好久,发现遇到这类问题的人还不少.经过一番对比后发现还是修改并编译源码中的screencap类然后通过JNI来调用这种方法比较可靠,而其他的在ja ...

Android系统截屏的实现(附代码)

1.背景写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏.其实我们google android_screen_ ...

Android长截屏-- ScrollView,ListView及RecyclerView截屏

/wbwjx/article/details/46674157 Android长截屏-- ScrollView,ListView及RecyclerV ...

Android 长截屏原理

https://android-notes.github.io//12/03/android%E9%95%BF%E6%88%AA%E5%B1%8F%E5%8E%9F%E7%90%86/ a ...

Stick hero "攻略", android 代码编写与分析(后台截屏, 后台模拟点击)

论文写完,感觉头脑好久没被灵感刺激了,前些天室友介绍了个小游戏,我突然来了灵感可以写的简单的android 程序实现自动运行.主要的过会为三步: 1,Android 屏幕的获取.因为安全的原因,过程比 ...

Android手机截屏

刚开始打算做一个简单的截屏程序时,以为很轻松就能搞定. 在Activity上放一个按钮,点击完成截屏操作,并将数据以图片形式保存在手机中. 动手之前,自然是看书和网上各种查资料.结果发现了解的知识越多 ...

android手机截屏、录屏

1. 手动截屏,通过其他第三方软件发送截图,或者从手机取出截图 2. 使用命令截图,将截图保存到手机,再拉取到电脑 #!/bin/sh #运行 sh screenshot name picName=$ ...

Android代码截屏

本文来源:/blog/999779 这种方法应该只能对当前Activity本身进行截屏,因而你只能在你应用程序中参照该代码对其应用程序本身截屏. i ...

随机推荐

idea 工程添加svn关联

1.想启用idea的SVN插件还需要在idea配置一下(Ctrl + Alt + S),如下图所示: 2.接下来启用idea的版本控制插件(这里当然是启用Subversion了),打开“VCS”菜单项 ...

建模算法(六)——神经网络模型

(一)神经网络简介 主要是利用计算机的计算能力,对大量的样本进行拟合,最终得到一个我们想要的结果,结果通过0-1编码,这样就OK啦 (二)人工神经网络模型 一.基本单元的三个基本要素 1.一组连接(输 ...

(C/C++ interview) Static 详解

C Static /questions/572547/what-does-static-mean-in-a-c-program Static could ...

たくさんの数式 / Many Formulas AtCoder - 2067 (枚举二进制)

Problem Statement You are given a stringSconsisting of digits between1and9, inclusive. You can ...

Redis常用操作--------SortedSet(有序集合)

1.ZADD key score member [[score member] [score member] ...] 将一个或多个member元素及其score值加入到有序集key当中. ...

Mybatis3——使用学习(一)

目录 Mybatis Mybatis参考资源 Mybatis 使用 肯定TM要跑起来 XML映射配置文件 Mapper XML 文件 Mybatis Mybatis参考资源 Mybatis官网手册:h ...

python+selenium环境配置及浏览器调用

最近在学习python自动化,从项目角度和技术基础角度出发,我选择了python+selenium+appium的模式开始我的自动化测试之旅: 一.python安装 二.python IDE使用简介 ...

Mac安装PhoneGap3

Mac安装PhoneGap3第一步需要安装NodeJS,在Mac下有一个.pkg安装包(Mac OS X Installer (.pkg),下载下来一路点击就可以安装成功了.在Terminal控制台输 ...

js备忘录_1

js没有重载,只有同名覆盖,参数任意 所有参数封装在arguments数组中 Uncaught ReferenceError: d is not defined js引擎会当做变量处理 functio ...

awk 数组

Arrays Arrays are subscripted with an expression between square brackets ([ and ]). If the ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。