<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qi15211的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qi15211</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qi15211]]></copyright><item><title><![CDATA[获取安卓系统自带CA证书]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/117292057</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/117292057</guid><author>qi15211</author><pubDate>Wed, 26 May 2021 14:58:13 +0800</pubDate><description><![CDATA[以下代码是获取安卓系统自带CA证书，可以用于Https通信


 //将目标证书序列号转为BigInteger，方便判断
 val serialNumber: BigInteger = BigInteger("目标证书序列号(serialNumber)，16进制字符串", 16)
 val keyStore: KeyStore = KeyStore.getInstance("AndroidCAStore")
 keyStore.load(null, null)
 val keyAliases: Enumer]]></description><category></category></item><item><title><![CDATA[Flutter插件开发：原生发送Event]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/103223425</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/103223425</guid><author>qi15211</author><pubDate>Sun, 24 Nov 2019 13:11:43 +0800</pubDate><description><![CDATA[目录



1、新建一个FlutterPlugin工程

2、编辑android原生工程

3、编辑ios原生工程

4、发布插件

1、新建一个FlutterPlugin工程

打开Android Studio后依次File--&gt;New--&gt;New Flutter Project--&gt;Flutter Plugin，工程lib文件夹默认实现了一个FlutterPlugin，并且...]]></description><category></category></item><item><title><![CDATA[Flutter插件开发：调用原生方法]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/103212821</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/103212821</guid><author>qi15211</author><pubDate>Sat, 23 Nov 2019 12:33:01 +0800</pubDate><description><![CDATA[目录



1、新建一个FlutterPlugin工程

2、编辑android原生工程

3、编辑ios原生工程

4、发布插件

1、新建一个FlutterPlugin工程

打开Android Studio后依次File--&gt;New--&gt;New Flutter Project--&gt;Flutter Plugin，工程lib文件夹默认实现了一个FlutterPlugin...]]></description><category></category></item><item><title><![CDATA[jenkins项目配置]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/103142643</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/103142643</guid><author>qi15211</author><pubDate>Tue, 19 Nov 2019 15:02:01 +0800</pubDate><description><![CDATA[Jenkins配置说明

图文说明https://blog.youkuaiyun.com/qi15211/article/details/87186314

General配置

描述

项目描述，自定义填写

参数化构建过程

点击添加参数按钮，参数举例：

参数名称
			参数类型
			作用
			必填
		gitTag
			Git Parameter
			打包代码管理，名称可以自定义，前后一致...]]></description><category></category></item><item><title><![CDATA[android上传Jcenter]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/101522149</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/101522149</guid><author>qi15211</author><pubDate>Fri, 27 Sep 2019 11:45:05 +0800</pubDate><description><![CDATA[注册Bintray账号

企业账号需要支付费用，个人账号暂时免费。也可以使用Google、github等三方账号授权登录企业账号注册个人账号注册

创建maven仓库

1、注册成功登录进入主页面，找到Add New Repository按钮，点击新建仓库；









创建package

仓库列表点击某个仓库，找到Add a Package按钮，点击开始新建package



G...]]></description><category></category></item><item><title><![CDATA[Android react native 开发入门]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/100885065</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/100885065</guid><author>qi15211</author><pubDate>Mon, 16 Sep 2019 13:28:47 +0800</pubDate><description><![CDATA[react、react native、webStorm、vscode介绍

1、react是facebook开源的一套申明式js前端框架，React 是基础框架，是一套基础设计实现理念，开发者不能直接使用它来开发移动应用或者网页，发展出了React.js 框架来开发网页
2、react native是在React框架之上，用前端的技术将jsx通过babel编译成reactElement，在创建对应...]]></description><category></category></item><item><title><![CDATA[kotlin入门]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/100117485</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/100117485</guid><author>qi15211</author><pubDate>Wed, 28 Aug 2019 13:38:02 +0800</pubDate><description><![CDATA[基本类型、变量、空安全

官方文档

Type
			Size (bits)
			Min value
			Max value
		Byte
			8
			-128
			127
		Short
			16
			-32768
			32767
		Int
			32
			-2,147,483,648 (-231)
			2,147,483,647 (231 - 1)
		Long
			6...]]></description><category></category></item><item><title><![CDATA[android打包自动生成版本号]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/99676881</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/99676881</guid><author>qi15211</author><pubDate>Fri, 16 Aug 2019 16:56:52 +0800</pubDate><description><![CDATA[常见版本命名规则（引自百度百科）

版本控制比较普遍的 3 种命名格式 :

1、GNU 风格版本号
主版本号 . 子版本号 . 修正版本号 build- 编译版本号
示例：1.0.0 build-1234
2、Windows 风格版本号
主版本号 . 子版本号 .修正版本号 . 编译版本号
示例：1.0.0.1234
3、Net Framework 风格版本号
主版本号 . 子版本号 ....]]></description><category></category></item><item><title><![CDATA[React-Native使用Code-Push热更新]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/89203932</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/89203932</guid><author>qi15211</author><pubDate>Thu, 11 Apr 2019 10:14:28 +0800</pubDate><description><![CDATA[详情请移步到https://blog.youkuaiyun.com/dounine/article/details/78529106

按照步骤执行即可
]]></description><category></category></item><item><title><![CDATA[android 渠道打包(productFlavors)]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/88963212</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/88963212</guid><author>qi15211</author><pubDate>Tue, 02 Apr 2019 11:22:11 +0800</pubDate><description><![CDATA[android develops上面关于渠道打包的介绍

https://developer.android.com/studio/build/build-variants?utm_source=android-studio#product-flavors

demo下载地址https://download.youkuaiyun.com/download/qi15211/11081809

渠道配置

本举例...]]></description><category></category></item><item><title><![CDATA[android 渠道打包]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/87857884</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/87857884</guid><author>qi15211</author><pubDate>Thu, 21 Feb 2019 11:47:18 +0800</pubDate><description><![CDATA[一、添加渠道


flavorDimensions &quot;Flavors&quot;
productFlavors {
    envDevelop {
        dimension &quot;Flavors&quot;
        buildConfigField &quot;int&quot;, &quot;HOST_TYPE&quot;, &quot;1&quot;
        manifestPlaceholders = [app_name: &quot;@string/ap.]]></description><category></category></item><item><title><![CDATA[jenkins邮件配置]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/87188564</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/87188564</guid><author>qi15211</author><pubDate>Wed, 13 Feb 2019 16:25:20 +0800</pubDate><description><![CDATA[下载邮件插件

自行百度下载Extended E-mail Notification

配置邮箱

工程中邮件配置见https://blog.youkuaiyun.com/qi15211/article/details/87186314

jenkins系统管理--系统设置中--Extended E-mail Notification

...]]></description><category></category></item><item><title><![CDATA[android  Jenkins笔记]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/87186314</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/87186314</guid><author>qi15211</author><pubDate>Wed, 13 Feb 2019 16:11:08 +0800</pubDate><description><![CDATA[项目配置

General






项目根目录的build.gradle中定义，app打包module中引用
versionCode project.versionCode as int
versionName project.versionName
ext {
    //*********app版本****************
    versionCode = 100
    ver...]]></description><category></category></item><item><title><![CDATA[YModem协议简介]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/84315108</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/84315108</guid><author>qi15211</author><pubDate>Wed, 21 Nov 2018 11:30:56 +0800</pubDate><description><![CDATA[百度百科对Ymodem 协议描述


(Ymodem) Ymodem 协议。Ymodem是一种错误纠正协议。使用较大数据块的调制解调采用这种协议，以获得更高的工作效率。采用Ymodem协议的调制解调器以1024字节数的块发送数据。成功接收的不会被确认。有错误的块被确认（NAK），并重发。Ymodem类似于Xmodem-1K，不同之处是提供批处理模式（batch mode）。在批处理模式下，可以使用...]]></description><category></category></item><item><title><![CDATA[Apache LICENSE 2.0 授权介绍]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/84070709</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/84070709</guid><author>qi15211</author><pubDate>Wed, 14 Nov 2018 17:47:53 +0800</pubDate><description><![CDATA[当我们使用github或者其它地方的开源项目时候，需要注意开源项目的授权协议。开源不等于免费使用，如果公司使用开源项目时候违反其开源协议，有可能给公司或者个人带来版权纠纷。使用时候需要慎重阅读开源代码提供者的授权条件。

各种开源协议区别看此博客 https://www.oschina.net/question/54100_9455

本文介绍apache 2.0授权协议，

原文地址 http:...]]></description><category></category></item><item><title><![CDATA[Android组件化]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/83827922</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/83827922</guid><author>qi15211</author><pubDate>Wed, 07 Nov 2018 17:37:27 +0800</pubDate><description><![CDATA[什么是组件化

将项目功能拆分为多个module，每个module负责一个相对独立的业务逻辑，通过条件控制module在工程中的library、application性质。作为application时候module可以独立编译安装，开发过程中可以独立开发测试该module功能；作为library时候可以被项目集成打包，作为整个项目的一部分。


组件化工程结构




组件化全局配置


grad...]]></description><category></category></item><item><title><![CDATA[Android 项目部署之Nexus私服搭建和应用(搬运工)]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/83819198</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/83819198</guid><author>qi15211</author><pubDate>Wed, 07 Nov 2018 10:38:27 +0800</pubDate><description><![CDATA[在公司服务器上搭建nexus私服，上传aar库，提供给公司内外部人员使用。安全高效开发。

详情见博客http://blog.youkuaiyun.com/l2show/article/details/48653949]]></description><category></category></item><item><title><![CDATA[通过androidId和系统参数生成手机唯一标识]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/83818884</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/83818884</guid><author>qi15211</author><pubDate>Wed, 07 Nov 2018 10:23:39 +0800</pubDate><description><![CDATA[
/**
     * 获取保存的uuid，未保存时候重新生成
     * @param context
     * @return
     */
    public static String getDeviceUUID(Context context) {
        String uuid = loadDeviceUUID(context);
        if (TextUt...]]></description><category></category></item><item><title><![CDATA[js byte数组与16进制字符串互转（对负值填坑）]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/82886277</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/82886277</guid><author>qi15211</author><pubDate>Fri, 28 Sep 2018 16:36:30 +0800</pubDate><description><![CDATA[//十六进制字符串转字节数组，跟网上demo一样
function HexString2Bytes(str) {
  var pos = 0;
  var len = str.length;
  if (len % 2 != 0) {
    return null;
  }
  len /= 2;
  var arrBytes = new Array();
  for (var i = 0; i...]]></description><category></category></item><item><title><![CDATA[android Data Binding  数据变化监听]]></title><link>https://blog.youkuaiyun.com/qi15211/article/details/72729697</link><guid>https://blog.youkuaiyun.com/qi15211/article/details/72729697</guid><author>qi15211</author><pubDate>Thu, 25 May 2017 15:40:16 +0800</pubDate><description><![CDATA[本文参考databinding官方文档整理。官方文档链接地址https://developer.Android.com/topic/libraries/data-binding/index.html#data_binding_layout_files

Data Objects



Any plain old Java object (POJO) may be used for da]]></description><category></category></item></channel></rss>