- 博客(41)
- 资源 (11)
- 收藏
- 关注
原创 Android 8.0 系统编译解决卡在Ensuring Jack server is installed and started
参考:https://www.cnblogs.com/zzb-Dream-90Time/p/9273844.html这个解决方法是比较全的,但是我所有操作都做了,依然无法正常编译解决这个问题花了我2天时间,尝试了很多次才解决,包括选择不同的lunch版本,因为在之前编译android9.0的时候,其他lunch也会出现各种问题,但是编译x86 64的时候是直接能一次性编译通过的。因为刚开始多线程(多进程?)编译的时候,不会立马出现这个问题,而是会编译过程中,我大概会2000-3000个文件之后,
2022-01-28 10:17:22
3245
转载 【Android】Android 9.0 隐藏虚拟按键跟状态栏,除去google搜索栏.
【Android】Android 9.0 隐藏虚拟按键跟状态栏,除去google搜索栏.
2022-01-21 11:03:40
667
原创 Android9 系统编译 修改开机动画
参考文章Android8.1 修改开机动画开始:我手上有一张gif图片。去百度找了个gif分解的网站,把gif分解为了180张图片。如图把最后一张,也是完整显示的一张复制出来放到part0下,其余文件放在part1下,由于我前30张图是全白的空白图片,所以我删了,保留了后150张创建desc.txt内容如下:388 353 25 // 开机动画大小为宽600 高 480,动画的显示速度为25帧每秒。p 1 25 part0 // part1目录下png图片显示一次,循
2022-01-21 10:24:32
3565
原创 Android9 系统编译 禁止安装非指定的APK
参考连接 android 添加安装权限白名单我在这里仅仅是禁止 手机/平板 安装APK,没有禁止adb命令。参照上面文章2、packageInstaller的修改最开始以为是framework/base/service里面的packageInstaller。改了之后发现没有成功,后面才反应过来是packages/apps/PackageInstaller这个apk因为android9点击安装包后,在右下角有安装、取消按钮,所以定位到安装按钮就行了代码:packages/apps/Pac
2022-01-20 15:43:00
2743
原创 Android9 系统编译 替换Launcher
在网上找了一些资料,搞了一天,没成功。应该是资料太旧了,后面自己解决了。我的需求很简单,需要开机启动自己的launcher应用,按home不能返回到原launcher。也不需要原生的launcher。编译的版本是Android 9.0Android 9.0编译参考下面是步骤:首先自己的app在AndroidMainfest需要配置为Launcher,这一步就不多说了。然后最简单的是在make之前,删除 packages/apps/Launcher2和Launcher3然后建一个文件夹,装自己
2022-01-20 10:00:00
2059
1
原创 Xposed 实现给Hook的APP动态添加权限Permission
Xposed 实现给Hook的APP添加权限Permission因为Xposed的资料都比较老了,所以只有找到android低版本的权限添加。今天研究了一会,把hook app 的动态权限添加了。直接说方法Xpose模块:添加权限需要activity对象,所以首先获取activity。直接拿到onCreate里的this对象就是activity对象了 findAndHookMethod("com.example.hoyn.example.MainActivity", lppara
2020-07-05 02:09:05
3181
原创 Xposed 利用ContentProvider实现跨进程数据读取
Xposed 利用ContentProvider实现跨进程数据读取由于Android N以后,Sharepreference的第三个参数MODE_WORLD_READABLE的被禁止,Shareperference的跨进程通信变得不可用,谷歌推荐使用ContentProvider进行通信。但是由于ContentProvider在平时简单的使用中过于重量,需要进行数据库操作特别的麻烦,所以我找到了一个库,基于ContentProvider封装,使用和平时SharePreference基本一致。开源库地址
2020-07-02 23:32:04
5993
1
原创 Python 技术指标EMA算法
Python 技术指标EMA算法算法由python-技术指标-ema算法改进而来原算法def get_EMA(df,a): for i in range(len(df)): if i==0: df.ix[i,'ema']=df.ix[i,'close'] if i>0: df.ix[i,'...
2018-08-08 02:17:58
18983
1
转载 启动tomcat时,一直卡在Deploying web application directory这块的解决方案
本来今天正常往服务器上扔一个tomcat 部署一个项目的,最后再启动tomcat 的时候 发现项目一直都访问不了,看了一下日志:root@iz8vbdzx7y7owm488t4d89z bin]# tail -f ../logs/catalina.out09-Jun-2017 15:57:06.666 INFO [main] org.apache.coyote.AbstractProtocol.i
2017-07-13 11:04:35
22566
7
转载 Android之JNI NDK如何取消native support 重新add native support
切换到Java视图 1. 打开.project,删除cdt相关的三部分: org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, ?children? ?children?=?name?=entry\\\|\|?name?=entry\\\|\||?name?=outputEntrie
2017-03-16 16:16:43
1841
原创 服务器ssh_key授权,并禁止密码登陆
·生成rsa_key , 并添加公钥到服务器windows:下载XSHELL,在登陆的时候可以选择用密钥登陆, 然后直接生成,保存可以得到rsa_key.pub。linux or Mac生成SSH密钥对ssh-keygen -t rsa建议直接回车使用默认路径Enter file in which to save the key (/root/.ssh/id_rsa):输入密码短语(留空则直接回车)
2017-03-13 11:52:53
3696
原创 Linux下Festival离线语音合成
最近研究了下Linux下的语音合成,一般用的就是 espeak festival ekho 科大讯飞 其中espeak最古老,但是我的Ubuntu简单安装又没安装上,所以没研究,ekho我听了一下发音,感觉是断断续续的,也有可能是因为我听的是中文的原因,所以也放弃了,科大讯飞的倒是很好用,可惜要收费,而且2000台起步。最后就选择了festival,然后鼓捣了几天。 可能是资料比较老了,
2016-12-23 11:04:56
11968
3
原创 打造一个炫酷的EventBus
以前做了一个给EventBus增加消息提醒的Jar包,发现太丑了,而且我自己用久了之后看起来让我感觉很不爽。 很喜欢Logger的日志显示,所以仿照Logger重新打造了一下EventBus。 现在的效果如下 是不是感觉看起来很清爽,而且在哪里Post的或者哪里接收到的,点一下就可以进入Activity里面。现在我们来开始打造:首先,我们需要知道蓝色引导的Log怎么做。开始我以为是用的什么
2016-12-21 15:32:19
489
原创 解决Android 5.0以上 无法串口通信ttyS2
由于对Android驱动不是很熟,在这里记录一下今天搞了一天才搞出来的连接ttyS2串口成功案例。首先保证G - G , TX - RX, RX - TX 的线序 。进入ADB SHELL之后,cd /dev 进入dev后,ls查看设备是否有ttyS0 1 2 3等输入:setenforce 0 关闭防火墙(关键)之前就是不知道这个一直不成功输入:chmod 777 /dev/ttyS2 修改权限然
2016-12-13 16:58:12
9284
原创 React-native Cannot find module 'invariant'
之前本来React-Native项目用的好好的,结果手贱更新了一下React-native版本,然后各种运行不了。不过本来就是刚开始的DEMO,所以打算重新新建一个项目React-native init {project} 来重新运行。
2016-12-09 10:18:04
5059
1
转载 Activity 全屏,沉浸式模式这一篇就够了
本文转载自 http://blog.youkuaiyun.com/zhangqinghuazhangzhe/article/details/52935290 第一次在项目中要用到全屏功能的时候无从下手,然后就是去百度了。百度到的结果都是差不多的。不过直接把代码贴过来的确是可以用的。但是除了知道怎么做之外还想去理解它,因为只有理解了才能举一反三嘛。好在在后来的时候看到了官方的文档,写的非常详细。–
2016-11-04 09:48:56
4192
原创 利用JAVA反射机制破坏单例机制,生成非单例对象
今天用科大讯飞的SDK,它的语音识别是用的同一个SpeechRecognizer对象,但是它的语音识别、命令词识别如果同时用的话,由于SDK自带的SpeechRecognizer.createRecognizer是单例模式,所以会造成使用冲突。一旦设置了命令词识别参数之后,语音识别就不管用了。 所以今天利用反射,去破坏它的这种单例机制,让自己的语音识别和命令词识别是两个对象,方便使用。///原代码
2016-11-03 18:48:32
1221
原创 React脚手架的使用--5步生成React+ES6+Webpack项目
本例方法利用yeoman快速搭建React+webpack+es6脚手架由实践总结一、安装最新的node.js原博文是这样写说的 npm install -g n //首先安装n模块 n stable //升级node.js到最新稳定版 n 5.0.0 //或者指定版本升级 node -v //检查更新是否成功我自己是去重新下了一个最新版的node.js二、修改npm源为淘
2016-11-01 10:37:45
25902
转载 人声频率范围及各频段音色效果
转载自:http://blog.youkuaiyun.com/brandon2015/article/details/50426137国际制定的数字电话机的通信标准是300——3400Hz 这是-3db标准,也就是说300HZ和3400HZ的传输电压幅度降低到正常的0.707倍,并不是一过这两个频率电压就完全消失了,现实中也做不到如此精确的滤波电路。 人讲话的频率主要集中在1~3KHZ,低频段极少,高频也几
2016-10-26 15:35:20
2722
原创 Cordova下android与javascript的交互
最近做了一个功能,公司是用html写的上层,需要调用android自带的语音合成和识别,原以为是直接与html交互,结果没想到上层是用cordova的框架写的,研究一天把cordova与android的交互实现了,现在记录一下实现流程 由于是第一次用到Cordova,所以把它的搭建android项目和实现流程一并写上。一、用Cordova搭建一个android工程。下载nodejs,并配置环境变
2016-09-20 16:11:42
15259
原创 给EventBus增加订阅收到消息提醒,用AndroidStudio重新打包成Jar文件
用过EventBus的人都会觉得EventBus很好用,但是EventBus有一个让人很难受的地方—-在你post之后,可能会有几处接收到你post的对象,但是作为开发者,时间长了之后,并不知道在哪几处接收到了订阅的消息。特别是在项目大了之后,到处都在post,但是却不知道哪里接收到了。 所以我简单修改了一下它的源码,让它能支持debug模式。 首先去下载源码EventBus.java在Even
2016-07-16 16:10:22
1154
原创 Android仿天猫下拉刷新自定义控件
1、概述控件基于android-Ultra-Pull-to-Refresh做的header定制,继承PtrFrameLayout,把事件分发给里面的RadioGroup,所以两个自定义控件分别叫HoynPtrFrameLayout,HoynRadioGroup。 因为需要PtrFrameLayout里面的一些私有属性:mPtrIndicator,mScrollChecker,所以把PtrFrameL
2016-07-13 17:23:40
4154
原创 切换多国语言导致Fragment被回收,出现切换错乱
如图所示,切换多国语言之后,由于fragment被回收,再次进入app的时候,切换fragment会错乱,甚至有可能切换完全无效果。在百度google之后,发现只有这个和我现在遇到的问题比较像,但是代码却不是很完善。在切换语言时,activity会被系统回收后重新创建,此时原先依附于该activity的fragment也会被系统destroy掉,但系统会自动创建新的fragment的实例atta
2016-06-30 11:01:19
9000
原创 解决Android studio导入项目卡死
一、找到项目下gradle\wrapper\gradle-wrapper.properties文件,打开后在最后一句gradle-2.13-all.zip,改成自己的。(新建个项目,可以看到自己的项目的版本,我的是gradle-2.8-all.zip) 二、在项目最外层的build.gradle里dependencies { //把这个版本改成的 classpath
2016-06-20 10:35:43
2369
原创 Butterknife下的BaseAdapter封装。
现在做新项目,每次ListView或GridView用adapter的时候,都要写一大堆。于是我写了一个AdapterCopy的类,每次用的时候都全部复制过去。受够了这种复制粘贴,今天突发奇想,为什么不把Adapter封装一下,让它和封装后的Activity一样好用?adapter设计思路(adapter理想模型): 1、getView() 。返回型为int,即和activity一样,只需要返回一
2016-06-12 13:28:26
1071
原创 Picasso OOM浅谈。
自从项目图片加载从ImageLoader换成了Picasso,很久没有担心过OOM的问题了。不过最近在三星Note2发现加载大图的时候出现了OOM,通过解决了这个问题,把Picasso的理解又加深了一层。于是今天简单记录一下造成OOM的原因和解决方法。场景1、 在ListView里面,piscasso加载图片,不用担心复用问题,可是假如ImageView是100*100,而图片是1000*1000
2016-06-03 15:51:35
2689
原创 MVP in Android,让Activity更优雅一点。
我一直认为面向接口编程的设计才是最好的设计。之前我一直用的okhttp,利用request(url,params,callback)这种方式来获取结果。但是自从了解了retrofit,我毫不犹豫的替换了自己的网络请求框架。 为什么?因为retrofit是利用接口定义的请求。@GET(url)Call getXX(params1,params2);要是哪天后台接口变了,需要增加一个参数,我不用去在
2016-05-24 11:33:52
1332
原创 Retrofit2实现缓存。离线缓存、在线缓存及@headers控制缓存时间
参考来自 使用Retrofit和Okhttp实现网络缓存。由于retrofit和okhttp都已经更新,在某些细节上参考的那篇博客已经不适用了,而且那篇博客并没有介绍@headers如何具体使用。这篇博客完整的介绍了怎么用interceptor实现retrofit的缓存,学习时需要注意一下自己的retrofit,okhttp的版本,因为不同版本的某些方法名是不同的,在文章末尾我把现在使用的版本贴上
2016-05-10 18:32:54
6977
1
原创 RxJava在Android中内存泄漏解决以及RxJava的封装。
RxJava在现在是一个非常前卫的异步框架,也是由于他非常新,所以比较难以驾驭。 像okhttp直接在onStop或者onDestroy 调用它的cancel方法就行了,但是Rxjava并没有那么简单。因为假如每次请求都得到Observable对象,然后再onStop中unsubscribe取消,这样很不利于封装。而且会造成代码量很多,所以我找到了用rxlifecycle的解决方案。 先导包
2016-05-06 18:52:21
6711
1
原创 是时候来了解一波Retrofit2了。
之前的网络请求一直是用的okhttp,这段时间了解了一下retrofit2,发现比自己封装的okhttp灵活很多,他的所有请求方式都是用接口实现,不像okhttp那样,万一想获取一个新的callback,又得重新封装一个方法。 项目只要导入了okhttp,retrofit默认用okhttp请求网络,返回的类型是Call,那么就相应OkHttp的callback 可以配合RxJava使用,返回的类
2016-05-06 10:28:43
2849
原创 RxAndroid简单入门。
这段时间研究了一下rxJava,rxAndroid。对于刚接触RxJava的人来说,完全是迷茫状态。相信看了大神的博文之后,心里有这样一个疑问,我只是想学rxJava,lambda和Retrofit又是什么鬼,完全看不懂了。所以这篇博文主要是单独讲RxJava在Android中的运用。一、RxJava是什么? 二、RxJava感觉很牛B,但是又有什么用? 三、我要怎么才能利用RxJava的反应式
2016-05-03 10:00:27
899
原创 EventBus3.0的基础使用。
EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。在我看来,eventbus在各个界面的传值特别方便。无论在哪个界面,只要注册了eventBus都可以收到任何界面post过来的消息,类似于观察者模式,
2016-04-27 18:55:09
822
原创 ConvenientBanner在TabHost下tab切换出现空白解决方案
在tabHost下,由于重写了onCreateView,保存fragment实例,导致了Tab切换时,ConvenientBanner在最后一张图准备轮播到第一张图,会出现空白。@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedIns
2016-04-01 09:54:14
1847
原创 Android带虚拟按键的手机不认res/values的屏幕适配解决方案
在某些带虚拟按键的手机上会出现不识别values文件的情况,例如1080*1920的带虚拟按键的手机,不会识别values-1920*1080的资源文件。 同样都是1080P,但是带虚拟键盘是不识别的。 原因是:带虚拟键盘的屏幕分辨率是1920*1080,但实际上他是识别真实高度((1920-虚拟键盘高度)*1080)。虚拟键盘高度哪里来呢?如果可以从参数上获取就取那个,如果不行就用类似
2016-04-01 09:39:22
4441
原创 用PocketSphinx做离线命令词识别
主要内容转自Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率,在此只是记录一下实现过程中遇到的坑。 最近语音识别很火,但是都是用的在线语音识别,研究了一下离线语音识别,小范围内的语音识别率还不错,在此记录一下 首先本文要说的两个前提1.android平台离线语音识别 2.小范围语音 小范围语音指的是相对固定的命令。本文的例子大概实现了20条
2016-01-12 17:41:14
7296
2
原创 图片头文件信息解析
今天发现获取图片的宽高,并不需要把图片完全读完之后再来获取,而只需要读取文件头文件,几十个字节便可以读出文件的宽高。 图片的文件头部存储有该图片相关信息,可以从中读取相应字段,得到尺寸、大小、格式等信息。由于无需载入整张图片,故而速度较快。当图片较大时,优势更加明显。 现在把今天发现的东西总结一下,所有数据都是用的QQ截图。特征码的位置可能和实际不同,目前发现jpg的宽高特征码不确定。如果以
2016-01-12 13:25:39
25871
原创 Android开发-通过USB实现ADB控制
1、首先配置ADB环境(也可以不配置,只是为了操作方便),将Android sdk中的 platform-tools和tools加入到环境变量。 2、win+R调出CMD,输入adb,如果cmd中弹出一大堆东西,就是配置成功了。如图示: 3、USB插入手机或启动模拟器,在cmd中输入adb devices 出现图片上所示,代表ADB通了,可以实现一些操作了。(如果出现error,首先判断一
2015-09-15 19:33:51
5192
原创 获取View的width,height的正确方式
今天做了一个视频的简单缩放,根据父容器大小,缩放一倍。但是做的过程中发现得到父容器的width,height为0,查了一下资料,找到了解决办法。
2015-08-26 14:24:25
1089
转载 java设计模式之——代理模式
1,什么是代理模式?代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,策略模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色
2015-08-25 16:30:30
406
EventBus增加订阅消息提醒
2016-07-16
MVPDemo in Eclipse
2016-05-24
MVPDemo for Eclipse
2016-05-24
博客更新后RxAndroid+Retrofit+okhttp框架Demo
2016-05-13
RxAndroid+Retrofit+okhttp框架Demo
2016-05-06
RxAndroidDemo
2016-05-03
EventBusDemo.rar
2016-04-29
Android项目开发基本框架
2016-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人