<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Encode_myself的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Encode_myself</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Encode_myself]]></copyright><item><title><![CDATA[trace中查看D状态的原因]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/151224777</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/151224777</guid><author>Encode_myself</author><pubDate>Fri, 05 Sep 2025 15:41:41 +0800</pubDate><description><![CDATA[ftrace中加这个 复测抓trace后点D状态部分可以查看D状态的主要原因。]]></description><category></category></item><item><title><![CDATA[安卓app_process启动进程的底层流程]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/146273126</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/146273126</guid><author>Encode_myself</author><pubDate>Sat, 15 Mar 2025 02:38:07 +0800</pubDate><description><![CDATA[可是个好东西，由它启的进程虽然也是运行在手机上，但却是独立运行在linux上的，不受android的管控，所以我们可以利用做很多事情。]]></description><category></category></item><item><title><![CDATA[关于python from .. import .. 以及 pycharm对于source root bug的一个通用解决方案]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/132476057</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/132476057</guid><author>Encode_myself</author><pubDate>Thu, 24 Aug 2023 15:58:30 +0800</pubDate><description><![CDATA[pycharm的source root。加了source root也不会加入syspath. 并且最大的坑在于你去掉了source root重新导入也显示你曾经加过source root但已经去掉source root的文件夹是source root ，这句话很绕口 但你可以自己手工尝试一下有多坑。我们接着这个思路来看，既然不包含当前文件夹 那我们干脆设置上一级路径为source root不就好了嘛。的路径，也就是说 如果from ..的这里写入的是当前文件夹 是会报错的，因为无法找到当前文件夹。]]></description><category></category></item><item><title><![CDATA[linux学习小记---centos和ubuntu对于文件下载安装的区别。]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/79608865</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/79608865</guid><author>Encode_myself</author><pubDate>Mon, 19 Mar 2018 12:09:38 +0800</pubDate><description><![CDATA[centos是redhat的衍生版，与redhat不同的是redhat的一些软件是收费的，而centos是免费的。他们都是采用rpm包的形式通过yum方式来下载安装。为什么要采用yum代替 rpm呢 因为rpm需要手动去找源文件，而且这个源文件是不包含自己的dependencies的，还需要手动去找dependencies，还不确定dependencies有没有dependencies...相当麻...]]></description><category></category></item><item><title><![CDATA[关于u8BOM，LF,CRLF的认知。]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/79420016</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/79420016</guid><author>Encode_myself</author><pubDate>Fri, 02 Mar 2018 10:39:52 +0800</pubDate><description><![CDATA[首先说下遇到的问题。工作需要，有一个json文件需要被签名后使用。当时为了开发方便用记事本另存为u8然后签名，校验通过，用git push 到repository。        这时候问题来了，发现本地build出来的apk对json文件签名的校验是没问题的，但是jenkins build出来的就是无法识别json文件的签名。         来回的折腾后首先发现在linux下用vi打开会看到&amp;...]]></description><category></category></item><item><title><![CDATA[关于AndroidStudio的首字母大小写敏感和自动导包的设置问题。]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/78958471</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/78958471</guid><author>Encode_myself</author><pubDate>Wed, 03 Jan 2018 10:31:28 +0800</pubDate><description><![CDATA[换了环境 总是忘记怎么设置，记录一下方便开发。


第一个是在settings里面搜索Auto Import


然后给 Add unambiguous imports on the fly 和  Optimize imports on the fly 打钩即可。


第二个是在settings里面搜索case senstive completion。 然后设置为none。]]></description><category></category></item><item><title><![CDATA[关于gitignore的有时候会无效的一个新认知]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/78901753</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/78901753</guid><author>Encode_myself</author><pubDate>Tue, 26 Dec 2017 14:15:35 +0800</pubDate><description><![CDATA[利用.gitignore过滤文件，如编译过程中的中间文件，等等，这些文件不需要被追踪管理。

现象：

在.gitignore添加file1文件，以过滤该文件，但是通过git status查看仍显示file1文件的状态。

原因：

在git库中已存在了这个文件，之前push提交过该文件。

.gitignore文件只对还没有加入版本管理的文件起作用，如果之前已经用git把这些]]></description><category></category></item><item><title><![CDATA[关于Parcelable传递时候的异常 Unmarshalling unknown type code。]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/78625289</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/78625289</guid><author>Encode_myself</author><pubDate>Fri, 24 Nov 2017 15:45:47 +0800</pubDate><description><![CDATA[工作需要 用intent 传递了一个 parcelable 的list.结果在取的时候抛异常了。
异常如下:

Parcel android.os.Parcel@1bf4a17f: Unmarshalling unknown type code 3276899 a
找了半天才发现 读和取的顺序必须是一致的 不然就会报错。



附上例子代码：



    public s]]></description><category></category></item><item><title><![CDATA[关于 Failure [INSTALL_FAILED_DEXOPT] 的解决方案。]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/78415025</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/78415025</guid><author>Encode_myself</author><pubDate>Wed, 01 Nov 2017 17:43:57 +0800</pubDate><description><![CDATA[一同事在修改了package/app下面的工程之后,不想full build于是直接mm之后 找到APK直接adb install报错如下


 Failure [INSTALL_FAILED_DEXOPT] 
 
先来说说问题产生的原因。
如果我们在user版本用mm编译apk时，会在out目录下生成.apk和.odex两个文件，是为了加快运行速度，把dex分出来做的预优化处理。但是]]></description><category></category></item><item><title><![CDATA[关于系统内置apk签名问题。]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/78134046</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/78134046</guid><author>Encode_myself</author><pubDate>Fri, 29 Sep 2017 15:10:31 +0800</pubDate><description><![CDATA[近期接到个需求，是得将apk build到系统里，并且在平时的过程中还是可以进行调试的。
那么问题来了，我们都知道系统内置的apk是不能卸载的，那能不能reinstall呢。


一般的系统apk,android.mk都有这么一句:
LOCAL_CERTIFICATE := platform


对于这句而言，不论你内置的apk有签名与否，install之前都会将apk做resig]]></description><category></category></item><item><title><![CDATA[camera清晰度问题]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/78038327</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/78038327</guid><author>Encode_myself</author><pubDate>Wed, 20 Sep 2017 10:56:54 +0800</pubDate><description><![CDATA[一切关于camera清晰度的问题，都是跟硬件有关系的，所以parameter必须得设置对了。下面是代码:


		Camera.Size maxPictureSize = mParameters.getSupportedPictureSizes().get(0);
                Camera.Size maxPreviewSize = mParameters.getSupp]]></description><category></category></item><item><title><![CDATA[以Android L读取系统所有logcat并写入文件为例分析Android 以添加系统进程的方式申请selinux的权限执行shell脚本,以及avc:dined应该怎么申请权限]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/77923254</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/77923254</guid><author>Encode_myself</author><pubDate>Sun, 10 Sep 2017 18:54:31 +0800</pubDate><description><![CDATA[首先说说环境：
基于Android L的aosp修改(修改对于此文基本无影响)过的sorce code.
本来的思路是通过setenforcing permissive来开启宽容模式，可是宽容模式就是selinux的debug模式就相当于关掉了seliux毫无安全可言，而下面说到的，是以我的读取系统logcat并写入文件为例，来讲在selinux中申请我们所需的权限。
系统服务：
在ini]]></description><category></category></item><item><title><![CDATA[Android抓取系统logcat以及selinux对其影响]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/77921714</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/77921714</guid><author>Encode_myself</author><pubDate>Sun, 10 Sep 2017 13:23:12 +0800</pubDate><description><![CDATA[Android kk 之前，要读system/bin/logcat 只需要READ_LOG的权限就可以了。
Android kk 之后 ,  Google正式有限制的启用SELinux来增强安全防患。但是kk版本之后Google只是有限制的启用SELinux,即只针对netd, installd, zygote, vold以及他们直接fork出的child process 使用enforcing]]></description><category></category></item><item><title><![CDATA[Error:null value in entry: incrementalFolder=null]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/77853066</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/77853066</guid><author>Encode_myself</author><pubDate>Tue, 05 Sep 2017 16:37:11 +0800</pubDate><description><![CDATA[前几天公司电脑AS卡住了。任务管理器杀掉再起来之后AS就报了这个错：


Error:null
 value in entry: incrementalFolder=null


找了很多帖子论坛网页（包括stackoverflow）结论千篇一律的让把.gradle文件夹删除了 然后说是重新clean build 一次就行。

反复试了5,6次都没生效。


而且主要我这边]]></description><category></category></item><item><title><![CDATA[(源码分析)Android系统时间-自动获取]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/77773588</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/77773588</guid><author>Encode_myself</author><pubDate>Fri, 01 Sep 2017 16:19:06 +0800</pubDate><description><![CDATA[工作关系查看了 设置界面 自动获取时间的code。


点开设置-时间日期 第一眼就能看到 自动获取时间 和 自动获取时区的勾选框，那么时间和时区是怎么自动获取的呢。
首先我们要知道的是，当前页面的显示是在packages/apps/Settings/src/com/android/settings下面的DateTimeSettings.java中显示的。


然后我们可以看到 在o]]></description><category></category></item><item><title><![CDATA[System.getProperty("line.separator") 的含义]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/77700720</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/77700720</guid><author>Encode_myself</author><pubDate>Wed, 30 Aug 2017 09:56:37 +0800</pubDate><description><![CDATA[在Java中存在一些转义字符,比如"\n"为换行符,但是也有一些JDK自带的一些操作符

比如 : System.getProperty("line.separator")

这也是换行符,功能和"\n"是一致的,但是此种写法屏蔽了 Windows和Linux的区别 ，更保险一些.

今天在代码里面看见别人这么写了，记下学习一下，以前一直都写的"\n".]]></description><category></category></item><item><title><![CDATA[记一下大神分享给我的chrom插件]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/74390737</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/74390737</guid><author>Encode_myself</author><pubDate>Wed, 05 Jul 2017 11:05:47 +0800</pubDate><description><![CDATA[octotree ---- 一个可以看github列表的插件]]></description><category></category></item><item><title><![CDATA[关于enum in android的一篇好帖子]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/71583820</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/71583820</guid><author>Encode_myself</author><pubDate>Wed, 10 May 2017 20:26:53 +0800</pubDate><description><![CDATA[stackoverflow的帖子]]></description><category></category></item><item><title><![CDATA[对于java关键字volatile，和transient 的理解]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/62227371</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/62227371</guid><author>Encode_myself</author><pubDate>Wed, 15 Mar 2017 15:58:15 +0800</pubDate><description><![CDATA[之前有看到文章写到写单例的时候最好加上关键字volatile，感兴趣的朋友可以自己去找文章。
一直对于volatile的理解浅显，直到看到一篇文章，下面将链接share出来，感兴趣的朋友可以去看看。
点击打开链接]]></description><category></category></item><item><title><![CDATA[关于Camera和MediaRecorder的问题]]></title><link>https://blog.youkuaiyun.com/Encode_myself/article/details/62226858</link><guid>https://blog.youkuaiyun.com/Encode_myself/article/details/62226858</guid><author>Encode_myself</author><pubDate>Wed, 15 Mar 2017 15:50:41 +0800</pubDate><description><![CDATA[近期接到需求需要Camera配合MediaRecorder进行preview转视频的录制,
问题1：
从Camera切换到MediaRecorder的时候，会遇到1秒的卡顿，两种方式，1是将recorder的videoSource设置成surface，但是stopRecord的时候会报sropFailed。2是将recorder的videoSource设置成Camera并且调用setCamer]]></description><category></category></item></channel></rss>