直接上干货:
只需要把反编译出来的scratch源码中 scratch-3-0-66-minsdk26.apk/assets/www/index.html文件中的 html->head->meta[name=viewport]标签中的initial-scale值从1.0修改为2.0即可,即app内部界面整体放大到原来的2倍,我的matepad air(11.5寸)分辨率2800*1840放大至2倍使用是合适的大小。 重新打包、签名即可。代码位置如下图。
修改为2.0即可。
参数说明:html的<meta name="viewport" cnotent="...">标签主要用于控制网页在移动设备上的布局和显示效果。content
属性用于定义视口的各种属性。其中
width: 设置布局视口的宽度, 一般都是device-width(设备宽度)
initial-scale: 初始缩放比例。 1即是100%, 2是200% ,以此类推。
maximum-scale: 最大缩放比例
minimum-scale: 最小缩放比例
user-scalable:是否允许用户缩放
上面的修改width=device-width限定了app窗口全屏,此时initial-scale=2时就相当于是把app内部整体放大至2倍显示,虽然内部各元素(div、按钮、文本框、图标...)有的是绝对定位、有的是相对定位、有的是百分比显示、有的是固定值大小等等原因,并不是全部整体放大,但简单地这么理解原理即可。
-----------------------
附 修改好的scratch安装包
scratch图标放大1.5倍 https://download.csdn.net/download/panda7788/90438931
scratch图标放大2倍 https://download.csdn.net/download/panda7788/90438953
scratch图标放大3倍 https://download.csdn.net/download/panda7788/90438968
------------------前因后果----------------------------
前因后果(废话)部分:
Scratch是由麻省理工学院(MIT)设计开发的一款面向青少年的免费图形化编程工具。它通过拖拽积木式的代码块,使得编程变得简单、有趣和可视化,特别适合7至16岁的儿童使用。另外还有一款ScratchJr是专为学龄前儿童设计,可以理解为ScratchJr是Scratch的简化版本。
Scratch是开源软件,并且是免费的。其社区应该是世界上最大的儿童编码社区了。
Scratch的官方网站下载地址是https://scratch.mit.edu/download,截止2025.02.27,其官网上的scratch有Windows 10+ 、 macOS 10.13+ 、 ChromeOS 、 Android 6.0+这几个版本可用。 但可以通过搜索找到其安装包下载。 我下载的是安卓版本的“scratch-3-0-66-minsdk26.apk”。
但是scratch安卓版本在高分辨率的平板设备上显示会存在图标很小的问题,小到看的眼睛疼,没办法使用。比如在我孩子的matepad air(11.5寸)分辨率2800*1840上就是如此。
我早年做过7年java开发,后期也参加过一些的ctf培训和比赛,有一定的编程基础和逆向能力。对于改个apk图标显示大小的问题,你是不是觉得我改起来肯定是个轻轻松松的事了?哼哼,你错了。我把反编译出来的源码,搜索阅读改动测试了4天,也没改成功,主要还是我技术太菜了。后来突然脑袋灵光乍现,想起来既然是html+js做的展示部分,那把主html显示分辨率做个调整,类似于“伪装分辨率”不就行了。事实也确实如此。
-----------------------修改操作步骤---------------------------------
修改操作步骤
这里提供一个最最简单的方法,可以无基础傻瓜式修改源码。
1、安装一个安卓模拟器。这里使用的是网易的“MuMu模拟器”,官网下载地址https://mumu.163.com/
2、模拟器中安装“MT管理器”,官网下载地址https://mt2.cn/
打开“MuMu模拟器”,把scratch的apk安装包复制到模拟器中如下图
安装“MT管理器”,把下载好的MT管理器安装包直接拉进mumu模拟器桌面空白处松开鼠标,即可完成安装
在mumu模拟器中点击“MT管理器”打开软件,找到刚才上传来的scratch-3-0-66-minsdk26.apk,左键单击,选择“查看”
点击进入文件夹assets/www/
点击index.html,在标签html -> head -> mate[name="viewport"] 内部找到initial-scale找到修改为2即可(2或者2.0都行)。保存。 备注:分辨率2800*1840附近设备放大2倍比较适合,如果是更高的放大倍数比如2.5或者3倍放大时,注意同时把后面标签maximum-scale=(最大放大倍数)的值也修改增大,这个值只要大于或者等于initial-scale就可以。
点击“MuMu模拟器”右上角的返回按钮,停顿一下再点击一次,直到出现“提示”弹出框,勾选“自动签名”,再点击“确定”即可完成修改。
修改好的scratch的apk安装包,可以先在“MuMu模拟器”里面安装试一下看看能不能正常运行。可以运行的话再复制到手机上安装。
文章我也发布到了51cto一份,也能看到。