<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SpHinner的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SpHinner</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SpHinner]]></copyright><item><title><![CDATA[海康威视Android开发 视频下载以及转码]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/125343794</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/125343794</guid><author>SpHinner</author><pubDate>Sat, 18 Jun 2022 10:16:23 +0800</pubDate><description><![CDATA[海康Android二次开发 ，根据时间段下载视频并且转码播放,视频通道选择]]></description><category></category></item><item><title><![CDATA[Android RSA解密之后部分内容乱码]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/112828172</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/112828172</guid><author>SpHinner</author><pubDate>Tue, 19 Jan 2021 14:37:09 +0800</pubDate><description><![CDATA[最近在做一东西 下载文件后 对文件RSA加盟的内容进行解密，但是解密出的文件首尾总是出现乱码，而中间部分正常。

研究了以下发现在java中和Android中RSA解密部分有一点点区别。

解密部分代码如下：


public static byte[] decryptByPublicKeyFile(byte[] dataStr, byte[] pubKey)
            throws Exception {

        X509EncodedKeySpec x509KeySpec = .]]></description><category></category></item><item><title><![CDATA[支付宝Appid]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/103881419</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/103881419</guid><author>SpHinner</author><pubDate>Tue, 19 Jan 2021 14:25:14 +0800</pubDate><description><![CDATA[AllAppInfoDaoImpl.a(localArrayList, "校园一卡通", "2013062600000474", true, "", false, "online", "https://gw.alipayobjects.com/os/nebulamng/AP_2013062600000474-sign/24xyjh4uy4.amr", "{\"clientExParam\":{\...]]></description><category></category></item><item><title><![CDATA[android 模拟器虚拟CPU的修改]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/102990079</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/102990079</guid><author>SpHinner</author><pubDate>Wed, 18 Dec 2019 19:20:39 +0800</pubDate><description><![CDATA[现在很多应用检测模拟器的时候都会读取 /proc/cpuinfo中的信息来作为是应用是否运行在模拟器上的检测。其中最主要是检测 其中的 model name 这一行 是否为 Android virtual processor 如果是 则必定是模拟器了。

   那我们可以在 模拟器的源码中进行修改 修改  模拟器源码/external/qemu/target/i386/cp...]]></description><category></category></item><item><title><![CDATA[thymeleaf页面中遍历枚举]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/102498678</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/102498678</guid><author>SpHinner</author><pubDate>Fri, 11 Oct 2019 12:11:08 +0800</pubDate><description><![CDATA[我们通常会用HashMap 或者 Enum来做页面中的select下拉菜单。那么在thymeleaf中遍历并且选中方法如下： 


&lt;div class="form-group" style="margin-left: 30px"&gt;
     &lt;label class="control-label hidden-xs"&gt;任务状态:&lt;/label&gt...]]></description><category></category></item><item><title><![CDATA[SpringBoot 静态资源访问不到的问题]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/90675685</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/90675685</guid><author>SpHinner</author><pubDate>Wed, 29 May 2019 18:02:00 +0800</pubDate><description><![CDATA[现在很多人都在用SpringBoot来搭建微服务,记录下遇到的资源访问的问题。

  在SpringBoot 1.x.x 版本中问题很好解决。但是在2.x.x版本中会发现 以前的不起效了。resources/static 下面放置的

css ，js ，图片等静态资源无法访问了。解决方法如下面这个类即可


@Configuration
@EnableWebMvc
public cla...]]></description><category></category></item><item><title><![CDATA[android adb logcat日志说明]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/85215574</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/85215574</guid><author>SpHinner</author><pubDate>Sat, 22 Dec 2018 20:01:22 +0800</pubDate><description><![CDATA[本文我主要讲解以下日志过滤.查看. logcat中其它的命令各位可以自行去看.

如命令:  adb logcat -b radio -s  *:E  各项解释如下      

-b设置缓冲区 可选参数
	radio
			过滤通信系统部分的log
		main
			所有java层的log   注意: 它不包其它缓冲区的java 层
		system
			系统组件的log
		events
...]]></description><category></category></item><item><title><![CDATA[AOSP 隐藏 su]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/85001609</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/85001609</guid><author>SpHinner</author><pubDate>Fri, 14 Dec 2018 13:08:48 +0800</pubDate><description><![CDATA[       我们在开发过程中会用到root权限,但是又不想其它的应用能够检测到手机是root的,该怎么做呢?

       首先,检测检测手机root有很重要的一个检测方式, 就是 检测 /system/xbin/su 文件的  s位. 如下图:   


-rwsr-sr-x  1 root root    11056 2018-12-05 23:33 procmem
-rwsr-x--- ...]]></description><category></category></item><item><title><![CDATA[AOSP刷机后 自动修正时间]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/84952260</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/84952260</guid><author>SpHinner</author><pubDate>Tue, 11 Dec 2018 11:36:01 +0800</pubDate><description><![CDATA[      通过AOSP源码编译刷机后各位可能发现每次都需要手动设置时间以及时区. 不设置吧,有些应用打开的时候会检测时区以及时间.

      在编译的时候比如 device.mk的文件中添加如下 来修改默认时区.

            PRODUCT_PROPERTY_OVERRIDES += \
                    persist.sys.timezone=Asia...]]></description><category></category></item><item><title><![CDATA[AOSP新增AIDL调用]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/84950589</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/84950589</guid><author>SpHinner</author><pubDate>Tue, 11 Dec 2018 11:02:42 +0800</pubDate><description><![CDATA[    在做AOSP开发的时候可能会遇到这种情况,上层的APP需要调用Api做一些操作,但是这些操作App是没有权限去做的,只有系统进程才有权限去做. 该怎么样实现呢, 其实很简单,仿照其它的Manager去做即可.

    1. 写一个AIDL接口文件. 放在framewrok /base/core 包下任意目录, 建议放在android.os包下面.  可以参照里面其它的aidl文件来写就是...]]></description><category></category></item><item><title><![CDATA[AOSP编译后刷机]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/82841109</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/82841109</guid><author>SpHinner</author><pubDate>Wed, 26 Sep 2018 10:22:42 +0800</pubDate><description><![CDATA[    aosp的具体编译就不多说了.很多人应该都会.本文主要说说 如何把编译出来的包 刷到真机上去.

    准备工作: android-8.1.0_r41    Google手机 Nexus 5X

    编译过程:   source build/envsetup.sh    

                        lunch    


You're building on ...]]></description><category></category></item><item><title><![CDATA[android中 IMEI和ICCID的校验位计算]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/82782567</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/82782567</guid><author>SpHinner</author><pubDate>Thu, 20 Sep 2018 11:12:20 +0800</pubDate><description><![CDATA[        我们都知道在android 中有IMEI和ICCID 这两项数据. 至于这两项数据的获取方式以及所表示的意思在此我就不写了.主要讲讲这两项数据最后一位的校验位如何计算的.

        IMEI共15位 最后一位是校验位. 其校验位计算规则如下:

        1.   从左到右将偶数位数字分别乘以2，然后计算个位数和十位数之和        

        2.  将...]]></description><category></category></item><item><title><![CDATA[Android系统启动流程]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/82183458</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/82183458</guid><author>SpHinner</author><pubDate>Thu, 30 Aug 2018 19:47:01 +0800</pubDate><description><![CDATA[前言

本文主要讲述android系统从开机到显示出Launcher界面的整个大致流程.以方便大家有个整体的流程认识,不会对细节部分讲解. 细节部分后面将会慢慢讲. 此外本文以及后面的所有文章android源码版本是android-9.0.0_r3 .

启动流程简述

android系统启动从底层到上层依次为 1. Boot Rom  2. Bootloader  3. 内核kernel 4. ...]]></description><category></category></item><item><title><![CDATA[Android系统中ls -al 信息说明]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/81746565</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/81746565</guid><author>SpHinner</author><pubDate>Fri, 17 Aug 2018 11:31:12 +0800</pubDate><description><![CDATA[   在Android系统中我们查看目录下文件信息会用到命令 ls -al 展现出如下基本信息.


drwxrwxrwt  16 root   root    680 2018-08-16 17:14 .
drwxrwxrwt  16 root   root    680 2018-08-16 17:14 ..
dr-xr-xr-x  40 root   root      0 2018-08-...]]></description><category></category></item><item><title><![CDATA[AOSP目录结构说明]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/81481984</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/81481984</guid><author>SpHinner</author><pubDate>Tue, 07 Aug 2018 15:40:13 +0800</pubDate><description><![CDATA[  |-- art         ART虚拟机作为Dalvik虚拟机的替代,字节码翻译优化成机器码从运行时提前到安装 以空间换时间达到更流畅的体验
  |-- bionic                 系统 C库
  |-- bootable            启动引导相关代码
  |-- build                   存放系统编译规则及generic等基础开发包配置
...]]></description><category></category></item><item><title><![CDATA[emulator 修改MCCMNC后的联网问题]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/81297900</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/81297900</guid><author>SpHinner</author><pubDate>Tue, 31 Jul 2018 11:20:15 +0800</pubDate><description><![CDATA[        在&amp;lt;&amp;lt;Emulator默认电话号码和MCC,MNC的修改&amp;gt;&amp;gt;中已经知道了模拟器的MCC,MNC是如何修改的. 但是修改后是有一个问题的.即模拟器无法联网了. 主要问题是在哪里呢?

        首先我们要知道手机SIM卡中是存储了国际移动用户识别码的就是我们常说的IMSI, 这串数字用于区别移动用户的有效信息. 其总长度一般为15位, 前面的三位就是MC...]]></description><category></category></item><item><title><![CDATA[AOSP 7.0后IMEI为空的问题]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/81184586</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/81184586</guid><author>SpHinner</author><pubDate>Tue, 24 Jul 2018 15:21:12 +0800</pubDate><description><![CDATA[可能很多编译aosp源码的朋友都发现了一个问题,就是在android7.0之后 IMEI获取为空.

我用的分支是 android-8.1.0_r41

解决办法如下:

 在文件 aosp/hardware/ril/reference-ril/reference-ril.c  文件中有一个方法 如下


static void
onRequest (int request, void *data...]]></description><category></category></item><item><title><![CDATA[Mac上安装qt-creator  出现no valid kits found]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/81058616</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/81058616</guid><author>SpHinner</author><pubDate>Mon, 16 Jul 2018 00:12:46 +0800</pubDate><description><![CDATA[http://不多说，依次步骤如下：1. 下载QT 直接在Mac终端上 通过如下命令安装 最终末尾显示出安装的路径  brew install qt2. 下载QT-creator 可以通过清华的镜像站来下载地址如下，版本可自行选择   https://mirrors.tuna.tsinghua.edu.cn/qt/development_releases/qtcreator/4.7/4.7.0-r...]]></description><category></category></item><item><title><![CDATA[Android emulator 模拟器编译]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/79505559</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/79505559</guid><author>SpHinner</author><pubDate>Sat, 10 Mar 2018 10:47:29 +0800</pubDate><description><![CDATA[        emulator模拟器源码的下载方式和 AOSP的下载方式是一样的. 都是通过 repo 来进行下载的. 因为 google的下载需要梯子.所以选择通过中科大的镜像站来进行下载.         执行命令:  repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b emu-2.5-release   然后执行...]]></description><category></category></item><item><title><![CDATA[Android内核 goldfish-3.18+编译]]></title><link>https://blog.youkuaiyun.com/SpHinner/article/details/79505141</link><guid>https://blog.youkuaiyun.com/SpHinner/article/details/79505141</guid><author>SpHinner</author><pubDate>Sat, 10 Mar 2018 10:01:26 +0800</pubDate><description><![CDATA[     最近在做android模拟器内核的编译遇到些许问题 ,在此记录.

     内核下载: http://mirrors.ustc.edu.cn/aosp/kernel/goldfish.git   git clone 下载后检出相应的版本即可. 因为我编译的AOSP版本为7.1.1.r10  所以 检出的内核版本 为goldfish-3.10

     编译: AOSP选的是 aosp...]]></description><category></category></item></channel></rss>