Android 给设备添加一层水印

本文介绍如何通过修改Android系统的setup.conf文件或Watermark.java代码,实现在设备上显示自定义水印的方法。包括创建和推送配置文件,以及修改源代码的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

a.新建一个名为setup.conf的文件

写入以下内容:B79A939390%20,这个字符串就是hello
frameworks/base/services/java/com/android/server/wm/WindowManagerService.java文件的createWatermarkInTransaction()方法中就可以看到是从/system/etc/setup.conf文件中读取去字符串,然后再构造Watermark对象

void createWatermarkInTransaction() {
    if (mWatermark != null) {
        return;
    }

    File file = new File("/system/etc/setup.conf");
    FileInputStream in = null;
    DataInputStream ind = null;
    try {
        in = new FileInputStream(file);
        ind = new DataInputStream(in);
        String line = ind.readLine();
        if (line != null) {
            String[] toks = line.split("%");
            if (toks != null && toks.length > 0) {
                // TODO(multi-display): Show watermarks on secondary displays.
                final DisplayContent displayContent = getDefaultDisplayContentLocked();
                mWatermark = new Watermark(displayContent, displayContent.mRealDisplayMetrics,
                        toks);
            }
        }
    } catch (FileNotFoundException e) {
    } catch (IOException e) {
    } finally {
        if (ind != null) {
            try {
                ind.close();
            } catch (IOException e) {
            }
        } else if (in != null) {
            try {
                in.close();
            } catch (IOException e) {
            }
        }
    }
}

然后把setup.conf 文件push到 /system/etc/ 目录下重启即可

adb push setup.conf /system/etc/

B79A939390%20 这串代码的含义
B7 : H = (0xFF - 0xB7) = 0x48 = H (Ascii 码)
9A : e = (0xFF - 0x9A) = 0x65 = e (Ascii 码)
93 : l
93 : l
90 : o
20=字体大小

b.或者在a的基础上强制修改Watermark.java以加水印字串"hello world,this is my mark"为例,

frameworks/base/services/core/java/com/android/server/wm/Watermark.java
注释掉WaterMark构造函数中的这一句:

mText = builder.toString();

加上这一句:

mText = "hello world,this is my mark";

重新编译+push services+reboot手机即可,效果如下
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值