2024-11-03 00:49:00
前段时间,处理一个比较旧的 flutter plugin,涉及到 Android 的部分,一顿修改后,发现无法 gradle sync 成功。 报错如下,
1 2 3 4 5 6 7 8 9 10 |
|
根据分析上面的错误信息,判定与 gradle 有关,和修改的 kotlin 代码无关。
经过一些简短尝试,最终确定是 gradle 版本不匹配的问题(主要由这一句推断 because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.)。
classpath ‘com.android.tools.build:gradle:7.1.2’ // The Android Gradle plugin.
修改gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip
修改成(或者对应的gradle 版本) distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
查询,请访问 这里 https://developer.android.com/build/releases/gradle-plugin?#updating-gradle
2023-03-12 20:50:00
有时候我们需要使用 Android 模拟器来 绑定一下 hosts 来实现功能的开发与验证,刚好最近遇到了这样的需求,处理完成,简单记录一下。
解压,然后将 emulator
和 emulator-check
替换掉这里面的文件 ~/Library/Android/sdk/tools/
(原有的可以备份为 xxx_backup)
1 2 3 4 5 6 7 |
|
1
|
|
假设上面的 hosts 我们新增了 127.0.0.1 baidu.com
1 2 3 4 5 6 |
|
注意: hosts 修改建议在 mac 上进行处理,然后使用adb push your_hosts_on_mac /etc/hosts
替换手机内的hosts。手机内置的 vi 很弱,可能无法编辑。
以上。
2023-02-12 20:20:00
作为一个从 Android Studio/IntelliJ 切到 VS code 的开发者,一开始会遇到各种不适应的情况。 比如快捷键不一样,使用习惯不一样等。
这里将简单记录一下 个人遇到的一些痛点,比如如何重写方法。
在 Android Studio/ IntelliJ 中,使用起来很简单,比如弹出这个菜单,选择 Override Methods
即可,实现重写 initState
方法
但是切到 Vs Code 后,发现找不到快捷键,后来经过一些摸索,还是找到了 如何快速实现方法重写的方法。
如下图,只需要输入待重写的方法的首字母,即可弹出提示。
VS Code 的方式显得会更加的简单。(后来才发现同样的方式 在 Android Studio/Intellij 也支持,Orz)
2022-11-27 21:35:00
2022-11-27 21:23:00
网络垃圾广告令人深恶痛绝,它不仅浪费流量、拖慢设备性能,还存在诸多安全隐患!所以很多用户选用 AdGuard 来对付这种「数字牛皮癣」。
点击[合作伙伴]专属优惠链接,前往数码荔枝下单 AdGuard 终生版最低仅需 119 元,新注册用户再享受立减 5 元优惠!
为了应对无孔不入的垃圾广告,大家也许已经尝试过不少工具。
目前大多数的广告拦截工具仅支持电脑网页端,同时因为技术问题,往往需要逐个浏览器单独配置,最后效果还很一般 (比如面对反屏蔽脚本时无能为力)。
AdGuard 不仅内置防反屏蔽功能,同时支持 Win、Mac、安卓、iOS 四大主流系统,而且一经启用,无须额外配置即可在系统内生效!
AdGuard 还可以通过屏蔽垃圾信息,净化网页和软件,让页面更快完成载入,有效节省带宽流量和系统性能。
以视频播放前的贴片广告为例,这类可恶的广告,短则几十秒,长则数分钟!非常浪费时间。
在安装 AdGuard 并启动后,用户再通过浏览器浏览视频,就能享受如同 B 站一般,无广告直接播放的畅快体验 (屏蔽功能不支持国内部分网站和 App)。
以搜索同一个常见疾病为例,在没有拦截广告时,搜索结果通常会置顶多条广告信息。在开启拦截后,搜索结果会清爽得多。
赶快点击[合作伙伴]专属优惠链接购买 AdGuard 畅享无广告的清爽体验,终生版仅需 119 元起!
无论是大人还是小孩,如今每天接触互联网的时间越来越多。怎样保护个人隐私,怎样让孩子时刻远离危险网站,正困扰着无数人。
除了过滤广告,AdGuard 还提供了「隐形模式」等功能,可以帮助用户远离成千上万的在线跟踪器,保护用户的数据免受网络分析:
它能通过隐藏搜索记录、User-Agent 以及阻止网站通过 Cookie、IP 地址等信息追踪到你,实现对个人信息的有效保护。
AdGuard 还内置了 DNS 保护、危险网站警告、家长控制等功能来为用户保驾护航。当用户即将进入钓鱼、欺诈或恶意网站时,AdGuard 会向用户发出警告。
利用家长控制功能,简单操作就能建立黑白名单,设定允许和禁止访问的网站,配合阻止下载可执行文件的功能,切实避免小朋友接触到有害的网站 / 文件。
AdGuard 一大特色在于它提供了强大的可扩展性,通过快速迭代且持续不断的「进化」来切实保护你的网络安全:
AdGuard 是一款少见的,能同时在广告拦截和网络安全上有着亮眼表现的工具,它在扩展功能上的持续开发更显示出了十足的诚意。
如果你需要一款支持多系统 + 全局广告拦截 + 个人隐私保护 + 儿童安全浏览 + 丰富扩展功能的工具,可以选择的大概只有 AdGuard 了!
它是超级聪明的广告屏蔽专家,更是值得信赖的安全防护墙!
马上点击[合作伙伴]专属优惠链接,AdGuard 终生版最低仅需 119 元!新注册用户再享受立减 5 元优惠,心动不如行动,马上入手吧!
2022-11-20 21:41:00
Flutter 3 之后,移除了 添加 uploader 的功能,这使得一些使用unpub 的用户很是苦恼,所以想要继续使用命令添加 uploader, 需要切回 flutter 2 才可以。
这里简单介绍一个很便捷的方式来处理上面的问题,就是使用 fvm 来指定 flutter 2 来执行 uploader 添加。
1 2 |
|
注: 如果没有安装homebrew, 需要安装一下。
如下内容保存为脚本 addUnpubUploader.sh
1 2 |
|
执行脚本
1
|
|