ADB快捷输入法 关于 ADB 快捷输入法的详细使用方法及下载方法等,可以前往https://android.bihe0832.com/doc/summary/samples.html#adb-%E5%BF%AB%E6%8D%B7%E8%BE%93%E5%85%A5 应用简介 一款基于ADB的,可以通过电脑快速输入中文等信息的快捷输入法,主要解决ADB命令无法输入中文的问题 更多信息可以点击链接:https://android.bihe0832.com/doc/summary/samples.html 应用截图 应用下载 点击下载到本地 输入方法 详细快捷输入命令事例可以参考:https://github.com/bihe0832/Settings-Tools/blob/master/config/mac/.zshrc 简单文本输入:主要用于简单的中文输入,一次即可完成输入 adb shell am broadcast -a ZIXIE_ADB_INPUT_TEXT --es msg DATA 其中DATA就是你要输入的内容 复杂文本输入:主要对于有特殊符号等的文本输入,要先输入命令,再输入内容 echo "请输入你要通过 ADB 输入内容的原文" && read input && content=$( base64 <<< $input ) && adb shell am broadcast -a ZIXIE_ADB_INPUT_BASE64 --es msg $content 命令结束后输入原文,自动完成转码和输入 自动发送: adb shell input keyevent 66 shell 切换到当前输入法 fun zixieadbinputchangetozixieinput(){ # 获取当前输入法包名 current_ime=$(adb shell settings get secure default_input_method | tr -d '\r') echo "$current_ime" # 判断输入法是否为指定的包名 if [[ "$current_ime" != "com.bihe0832.adb.input/com.bihe0832.android.base.adb.input.ZixieIME" ]]; then echo "$current_ime" adb shell ime set com.bihe0832.adb.input/com.bihe0832.android.base.adb.input.ZixieIME && sleep 2 fi } 相关文章 ADB命令系列之 Base Command:https://blog.bihe0832.com/adb-base.html 重点介绍一些基本的adb命令,例如devices,start-server,kill-server,install,uninstall,push,pull,bugreport,logcat等。 ADB命令系列之 Advanced Command:https://blog.bihe0832.com/adb-advanced.html 重点介绍一些相对比较复杂的adb命令,主要是adb shell 相关的。例如screencap,monkey,getprop,setprop,pm,am,dumpsys等。 ADB命令系列之 adb shell input:https://blog.bihe0832.com/adb-shell-input.html 重点介绍adb shell input的用法,包括怎么输入内容,怎么模拟按键,模拟屏幕滑动等各种输入模拟。 ADB命令系列之 再说ADB:https://blog.bihe0832.com/review_adb.html 重点结合使用场景介绍ADB 的使用,例如解锁手机、截屏、Monkey点击、获取厂商机型等 ADB命令系列之 ADB快捷输入法:https://blog.bihe0832.com/input.html 主要解决 ADB hell input 无法输入中文的问题
最近因为升级Androidx以及对应的AGP版本,需要同步升级构建机的 JDK 版本,整理过程中发现很多知识点都记得不太清了,再整理记录一下。 查找安装的rpm包有哪些 命令: rpm -qa | grep jdk 事例: ➜ ~ rpm -qa | grep jdk java-1.8.0-openjdk-devel-1.8.0.342.b07-1.el7_9.x86_64 copy-jdk-configs-3.3-10.el7_5.noarch java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 java-1.8.0-openjdk-headless-1.8.0.342.b07-1.el7_9.x86_64 卸载原有JDK 命令: rpm -e 包名 或者 yum remove包名 事例: ➜ ~ rpm -e java-1.8.0-openjdk-devel-1.8.0.342.b07-1.el7_9.x86_64 ➜ ~ 安装 JDK 由于腾讯云的机器已经有yum,因此直接使用yum安装jdk 命令: yum install java-1.8.0-openjdk-devel.x86_64 事例: ➜ AndroidAppFactory git:(master) ✗ yum install java-1.8.0-openjdk-devel.x86_64 Loaded plugins: fastestmirror, langpacks Repository epel is listed more than once in the configuration Repository nodesource is listed more than once in the configuration Repository nodesource-source is listed more than once in the configuration Loading mirror speeds from cached hostfile * remi-safe: mirrors.tuna.tsinghua.edu.cn …… ➜ AndroidAppFactory git:(master) ✗ java -version openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode) 寻找JDK 安装目录 which java 找到 which java 定位到的是java程序的执行路径,通过不停的回源,最终就能找到。 命令: java -version & ls -lrt 事例: ➜ ~ java -version openjdk version "1.8.0_342" OpenJDK Runtime Environment (build 1.8.0_342-b07) OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode) ➜ ~ which java /usr/bin/java ➜ ~ ls -lrt /usr/bin/java lrwxrwxrwx 1 root root 22 Sep 7 14:44 /usr/bin/java -> /etc/alternatives/java ➜ ~ ls -lrt /etc/alternatives/java lrwxrwxrwx 1 root root 73 Sep 7 14:44 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/bin/java ➜ ~ cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 ➜ java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 ls ASSEMBLY_EXCEPTION bin include jre lib LICENSE tapset THIRD_PARTY_README ➜ java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 rpm -ql 找到 如果是通过yum 安装,还可以用这种方式 命令: rpm -qa & ` rpm -ql` 事例: ➜ ~ java -version openjdk version "1.8.0_342" OpenJDK Runtime Environment (build 1.8.0_342-b07) OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode) ➜ ~ rpm -qa | grep java javapackages-tools-3.4.1-11.el7.noarch tzdata-java-2022c-1.el7.noarch python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 java-1.8.0-openjdk-devel-1.8.0.342.b07-1.el7_9.x86_64 java-1.8.0-openjdk-headless-1.8.0.342.b07-1.el7_9.x86_64 ➜ ~ rpm -ql java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 | head /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/bin/policytool /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/lib/amd64/libawt_xawt.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/lib/amd64/libjawt.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/lib/amd64/libjsoundalsa.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/lib/amd64/libsplashscreen.so /usr/share/applications/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64-policytool.desktop /usr/share/icons/hicolor/16x16/apps/java-1.8.0-openjdk.png /usr/share/icons/hicolor/24x24/apps/java-1.8.0-openjdk.png /usr/share/icons/hicolor/32x32/apps/java-1.8.0-openjdk.png /usr/share/icons/hicolor/48x48/apps/java-1.8.0-openjdk.png
这里简单汇总一下个人常用的一些简单的图片图标开发相关资源的地址以及功能,方便检索。 图标、Icon 制作 Android Asset Studio 简单介绍:Android Asset Studio 是一个在线制作工具,它可以制作Iocn,ActionBar,点9 图等等,简单操作,而且按照Google Play 规范生成 对应链接:http://romannurik.github.io/AndroidAssetStudio/index.html 蒲公英 简单介绍:根据文字、图片、生成APP Icon。 对应链接:https://www.pgyer.com/tools/appIcon iconfont 简单介绍:各种常见业务 Icon,支持SVG等形式。 对应链接:https://www.iconfont.cn Material Icons 简单介绍:Material Icons 对应链接:https://material.io/icons/ Shields.io 简单介绍:专为开源项目设计的在Github、文档等场景展示项目各种信息的工具库 对应链接:https://img.shields.io/ favicon 简单介绍:根据上传的图标,生成网站的 favicon 对应链接:https://tool.lu/favicon/ 类 pubhorn Logo 制作 Logo制作 简单介绍:制作类似pubhorn 的Icon 对应链接:https://cdn.bihe0832.com/tools/logo/index.html 公众号头图及图片压缩 稿定设计 简单介绍:制作公众号头图等的模板、图片的压缩裁剪等 对应链接:https://www.gaoding.com/design/image 可画 简单介绍:制作公众号头图等的模板 对应链接:https://www.canva.cn/ Ascii字符画 根据文字生成字符画: https://patorjk.com/software/taag https://www.network-science.de/ascii/ 根据图片生成字符画: https://www.degraeve.com/img2txt.php https://life.chacuo.net/convertphoto2char 根据流程图生成字符画: https://asciiflow.com/
在平时的开发中,经常会写一些通用的代码,为了方便自己后续使用,也为了方便更多的人,大都会选择发布到github或者jcenter等一些开源库。之前一直是使用jcenter,结果活久见,前几天发布的时候登录,竟然看到了这: 又红又粗必然是有大事,果然没想到他竟然要跑路了,核心内容就是: UPDATE: To better support the community in this migration, JFrog has extended the JCenter new package versions submission deadline through March 31st 2021. To clarify, the JCenter repository will keep serving packages for 12 months until February 1st 2022. Only the JCenter REST API and UI will be sunsetted on May 1st 2021. 之前觉得发布到 Maven Central 太麻烦,没想到最终还是逃不掉,因此开始着手迁移到 Maven Central ,考虑到遇到的人应该不少,简单整理下。这篇文章从头开始介绍怎么把开源代码发布到Maven Central,并在项目中使用。包括注册账号,发布,发布后使用以及发布中一些常见的问题。 前期准备 开源项目 你需要有已经开源的项目,并且项目已经编译通过,可以发布。为了方便介绍,我选择通过自己的开源项目AAF来介绍。项目地址: https://github.com/bihe0832/AndroidAppFactory Group Id Jcenter对于 Group Id的归属没有强校验,Sonatype会要求你提供权属的真实性,例如使用:com.bihe0832.android;你需要证明你拥有 android.bihe0832.com 域名的所有权。怎么证明后面会介绍。 注册 Group Id 我当时申请 android.bihe0832.com 的信息可以参考:https://issues.sonatype.org/browse/OSSRH-66119 官网地址: issues.sonatype.org:https://issues.sonatype.org/secure/Dashboard.jspa 这是一个基于 JIRA 的平台,如果没有账号,就注册一个,并不麻烦。注册成功之后,记下用户名和密码,后面还会用到 注册 Group Id: 提交申请 登录以后,点击上面的链接,进入网页,按照下图的指引,点击新建,只需要填写概要以下的信息即可,基本上主要是项目主页,项目源码和要注册的Group Id。 如果后续有信息需要修改,比如要修改Group Id,改完之后点击工单上方的“response”按钮,以通知平台已修改完毕。 验证域名的有效性 当申请提交以后,很快就会有官网账号,回复你,提醒你验证域名的有效性,例如: Do you own the domain bihe0832.com? If so, please verify ownership via one of the following methods: Add a TXT record to your DNS referencing this JIRA ticket: OSSRH-66119 (Fastest) Setup a redirect to your Github page (if it does not already exist) You can find more information here: https://central.sonatype.org/pages/producers.html If you do not own this domain, please read: http://central.sonatype.org/pages/choosing-your-coordinates.html You may also choose a groupId that reflects your project hosting, in this case, something like io.github.bihe0832 or com.github.bihe0832 这个操作也很简单,去你的域名解析规则里面增加一条指向 https://issues.sonatype.org/browse/OSSRH-66119 的 TXT 记录即可,例如:将 android.bihe0832.com 的 TXT 配置为 https://issues.sonatype.org/browse/OSSRH-66119 配置成功以后可以使用 dig 命令验证。例如: dig -t TXT android.bihe0832.com ; > DiG 9.10.6 > -t TXT android.bihe0832.com ;; global options: +cmd ;; Got answer: ;; >>HEADER pub rsa3072/E6A1AD98 2021-03-23 [SC] [expires: 2023-03-23] 里面,rsa3072后面的E6A1AD98就是公钥Id 发布公钥 上传公钥Id到公网,为了方便后续访问,我同时上传了多个公网: ➜ gpg --keyserver hkp://pgp.mit.edu --send-keys E6A1AD98 gpg: sending key 08587B8CE6A1AD98 to hkp://pgp.mit.edu ➜ gpg --keyserver hkp://keyserver.ubuntu.com --send-keys E6A1AD98 gpg: sending key 08587B8CE6A1AD98 to hkp://keyserver.ubuntu.com ➜ gpg --keyserver hkp://keys.gnupg.net --send-keys E6A1AD98 gpg: sending key 08587B8CE6A1AD98 to hkp://hkps.pool.sks-keyservers.net 生成密钥环文件: 执行命令生成本地的加密私钥文件。 ➜ gpg --export-secret-keys -o ~/.gnupg/secring.gpg 配置gpg信息 在项目根目录的 gradle.properties 添加gpg的配置信息,其中signing.secretKeyRingFile 的值为上一步生成的私钥文件的绝对路径。例如: # gpg信息 signing.keyId=E6A1AD98 signing.password=XXXXXX signing.secretKeyRingFile=/secring.gpg 配置账号信息 获取Token 打开 https://s01.oss.sonatype.org 使用注册 Group Id是注册的sonatype 的账号和密码登录,按照下图的步骤,获取Token 配置Token信息 在项目根目录的 gradle.properties 添加nexus Token的配置信息。例如: # nexus账号信息,也就是创建工单时的账号和密码 NEXUS_USERNAME=GTXXXXXEt NEXUS_PASSWORD=xjXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXaqJG 你也阔以不操作第一步,直接在这里配置你的 sonatype 的登录账号和密码 添加发布脚本 配置发布信息 添加开源项目的基本信息,上传脚本可以参考 https://github.com/bihe0832/AndroidAppFactory/build_aar.gradle 引入发布脚本 在需要发布的 Library 的 build.gradle 里面引入 build_aar.gradle即可,例如 AndroidAppFactory 的Framework ,对于Java 类型的 Library, 参考 AndroidAppFactory 的 RouterCompiler 的 build.gradle,还需要添加额外的几个Task 发布代码到 sonatype 在项目根目录运行命令,上传二进制包。例如: ./gradlew clean :Framework:uploadArchives 即可将二进制包发布到 sonatype 同步代码到 Maven Central 信息确认 打开 https://s01.oss.sonatype.org 使用注册 Group Id是注册的sonatype 的账号和密码登录,按照下图的步骤,查看刚才新上传的代码 同步到 Maven Central 如果确认Content的信息正确,勾选点击上方的Close,提交申请 然后刷新页面,就可以在Activity查看信息审核的进度,如果失败了,这里会提示哪一步出错了,以及出错原因,根据原因解决问题,删了有问题版本,再次提交申请,如果审核通过了,上面的Release按钮会变为可点击,点击即可同步到中央仓库 当提交到中央仓库以后: Central sync is activated for com.bihe0832.android. After you successfully release, your component will be published to Central https://repo1.maven.org/maven2/, typically within 10 minutes, though updates to https://search.maven.org can take up to two hours. 使用项目 此时其实我们的项目已经可以在代码中使用,在根目录添加开源库仓库的相关依赖: buildscript { repositories { maven { url "https://s01.oss.sonatype.org/content/groups/public" } } } allprojects { repositories { maven { url "https://s01.oss.sonatype.org/content/groups/public" } } } 在对应项目添加依赖,具体的依赖方法可以参考上图左下角: compile 'com.bihe0832.test:utils-demo:1.0.0' 在同步10分钟左右,我们就可以通过 mavenCentral 引用了 常见问题: 提交代码报错,提示:failed to deploy artifacts: could not transfer artifact return code is: 401, reasonphrase: unauthorized. 请检查根目录build.gradle 里面配置用户名和API Key是否正确,一般是因为这个原因。
拼图游戏 应用简介 一款可以自定义难度、自选照片、自选模式的拼图游戏工具。 打发时间的利器,制造惊喜的魔术,锻炼脑力的工具。 更多信息可以点击链接:https://android.bihe0832.com/doc/summary/samples.html 应用截图 应用下载 点击下载到本地