PlatformIO for CLion

PlatformIO 是一个跨平台、跨架构、多框架的专业工具,适用于嵌入式系统工程师和为嵌入式产品编写应用程序的软件开发人员。PlatformIO for CLion 是用于 CLion 集成的插件,用于在 CLion 上为嵌入式产品编写应用程序。1. 安装 CLionCLion 是适用于 C 和 C++ 的跨平台 IDE,CLion官方下载。CLion 2022.3.2 已经自带编译工具...

IOT PlatformIO CLion

作者 Viifo 发布于 2023年02月23日


Android 上传 Library 到 MavenCentral

1. 新建 Sonatype 项目Sonatype 为开源项目提供免费的中央存储仓库服务,要发布到 MavenCentral 仓库,必须先注册 Sonatype JIRA 账号。登录后在 Sonatype仪表盘 导航栏点击新建按钮向 Sonotype 提交新建项目的 issue,如图 1.1 所示。如图 1.2 所示,项目选择 Community Support - Open Source ...

maven

作者 Viifo 发布于 2022年12月04日


Android 上传 Library 到阿里 Maven 仓库

1. 创建阿里私有 Maven 仓库访问阿里云仓库服务,选择制品仓库,如图 1.1 所示。登录后的页面如图 1.2 所示。点击图 1.2 左下角的设置即可查看用于上传 Maven 仓库的用户名和密码,如图 1.3 所示。2. 查看仓库地址在仓库中没有任何内容时可以选择 首次上传 - Gralde方式 查看仓库地址,如图 2.1 所示。若仓库中已有内容,则可以通过 仓库设置 - 基本信息 查...

maven

作者 Viifo 发布于 2022年11月19日


Android多渠道打包配置

1. 配置 BuildTypes配置 buildTypes 主要用于区分 debug 和 release 包。配置 buildTypes 需要使用到签名信息,为了确保签名信息的安全,可以把签名信息放在 local.properties 文件中,如下所示。 local.properties 文件通常会被配置为 git 忽略文件,不会提交到代码仓库。# 签名信息storePassword=1...

Groovy Kotlin DSL

作者 Viifo 发布于 2022年09月01日


UiAutomator 使用示例

UI Automator 是一个界面测试框架,几乎可以模拟所有的人工操作。它的测试代码的编写不依赖于目标应用的内部实现细节,非常适用编写黑盒自动化测试。1. 效果预览2. 准备测试环境在根目录下的 build.gradle 文件中的 repositories 下添加:allprojects { repositories { maven { url 'https://jit...

test uiautomator

作者 Viifo 发布于 2022年06月18日


LabelView 标签控件

LabelView 是一个标签选择控件。1. 预览 流式布局 网格布局 线性布局 标签筛选 2. 使用 在根目录下的 build.gradle 文件中的 repositories 下添加:allprojects { r...

view

作者 Viifo 发布于 2022年06月04日


上传 Android Library 到 jitpack.io

上传 Android Library 到 jitpack.io 可通过 maven-publish 插件和 android-maven 插件进行发布,若项目只需要提交到 jitpack.io,可使用 android-maven 插件。 注: android-maven 插件目前已被弃用,建议使用 maven-publish 插件。1. 使用 maven-publish 插件发布创建 AS...

jitpack.io

作者 Viifo 发布于 2022年05月08日


搭建并上传 Library 到私有 Maven 仓库

将公共库上传到 Maven 仓库,这样多个项目就可以之家通过依赖管理工具下载使用,免去了复制公共库到多个项目,修改公共库后又要同步多个项目修改的烦恼。下面以 Centos 7 为例搭建一个私有的 Maven 仓库。1. 安装 JDK由于 Maven 依赖 JDK 环境,所以在安装 Maven 前需要确保安装有 JDK 。若没有安装 JDK,则需要先安装 JDK。# 注:nexus3 要求使用...

nexus maven

作者 Viifo 发布于 2022年05月06日


利用 Kotlin 委托实现一个简单的依赖注入

1. 从 by lazy 开始委托是一种软件设计模式,Kotlin 通过关键字 by 实现委托模式。常用的延迟初始化 by lazy 就是一种委托,如下所示:class KD_1 { val name: String by lazy { "张三" }}使用 by lazy 来实现延迟初始化,实际上是委托了 lazy 这个函数来帮我们来延迟初始化。接下来我们就先从实现一个 MyLazy ...

kotlin inject

作者 Viifo 发布于 2022年03月06日


交叉编译GCC源码 (i686-elf)

1. 编译环境准备在 Windows 上为 i686-elf 编译 GCC 是一个痛苦的过程,期间可能会有大量的错误需要解决。所以选择 debian-11.0-i386 操作系统来编译 32 位的 gcc 工具,系统镜像下载地址如下所示:# debian-11.0-i386 下载地址http://gemmei.ftp.acc.umu.se/cdimage/archive/11.0.0/i38...

GCC

作者 Viifo 发布于 2021年11月27日