![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习
androideveloper
There's no code in the world,they come here when u knock knock knock.
世上本无码,敲的多了,也便成了码。
展开
-
Android Studio鼠标移到类或者方法上面显示方法注释doc
Ctrl+Alt+S进入设置IDE Settings--Editor--Show quick doc on mouse move Delay(ms) 500转载 2015-12-15 10:03:42 · 805 阅读 · 0 评论 -
System.getProperty("line.separator") 的含义
在Java中存在一些转义字符,比如"\n"为换行符,但是也有一些JDK自带的一些操作符比如 : System.getProperty("line.separator")这也是换行符,功能和"\n"是一致的,但是此种写法屏蔽了 Windows和Linux的区别 ,更保险一些.今天在代码里面看见别人这么写了,记下学习一下,以前一直都写的"\n".原创 2017-08-30 09:56:37 · 784 阅读 · 0 评论 -
Android抓取系统logcat以及selinux对其影响
Android kk 之前,要读system/bin/logcat 只需要READ_LOG的权限就可以了。Android kk 之后 , Google正式有限制的启用SELinux来增强安全防患。但是kk版本之后Google只是有限制的启用SELinux,即只针对netd, installd, zygote, vold以及他们直接fork出的child process 使用enforcing原创 2017-09-10 13:23:12 · 1011 阅读 · 0 评论 -
(源码分析)Android系统时间-自动获取
工作关系查看了 设置界面 自动获取时间的code。点开设置-时间日期 第一眼就能看到 自动获取时间 和 自动获取时区的勾选框,那么时间和时区是怎么自动获取的呢。首先我们要知道的是,当前页面的显示是在packages/apps/Settings/src/com/android/settings下面的DateTimeSettings.java中显示的。然后我们可以看到 在o原创 2017-09-01 16:19:06 · 4674 阅读 · 1 评论 -
camera清晰度问题
一切关于camera清晰度的问题,都是跟硬件有关系的,所以parameter必须得设置对了。下面是代码: Camera.Size maxPictureSize = mParameters.getSupportedPictureSizes().get(0); Camera.Size maxPreviewSize = mParameters.getSupp原创 2017-09-20 10:56:54 · 1062 阅读 · 0 评论 -
关于系统内置apk签名问题。
近期接到个需求,是得将apk build到系统里,并且在平时的过程中还是可以进行调试的。那么问题来了,我们都知道系统内置的apk是不能卸载的,那能不能reinstall呢。一般的系统apk,android.mk都有这么一句:LOCAL_CERTIFICATE := platform对于这句而言,不论你内置的apk有签名与否,install之前都会将apk做resig原创 2017-09-29 15:10:31 · 1389 阅读 · 0 评论 -
关于 Failure [INSTALL_FAILED_DEXOPT] 的解决方案。
一同事在修改了package/app下面的工程之后,不想full build于是直接mm之后 找到APK直接adb install报错如下 Failure [INSTALL_FAILED_DEXOPT] 先来说说问题产生的原因。如果我们在user版本用mm编译apk时,会在out目录下生成.apk和.odex两个文件,是为了加快运行速度,把dex分出来做的预优化处理。但是原创 2017-11-01 17:43:57 · 3262 阅读 · 0 评论 -
关于Parcelable传递时候的异常 Unmarshalling unknown type code。
工作需要 用intent 传递了一个 parcelable 的list.结果在取的时候抛异常了。异常如下:Parcel android.os.Parcel@1bf4a17f: Unmarshalling unknown type code 3276899 a找了半天才发现 读和取的顺序必须是一致的 不然就会报错。附上例子代码: public s原创 2017-11-24 15:45:47 · 3548 阅读 · 0 评论 -
关于gitignore的有时候会无效的一个新认知
利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理。现象:在.gitignore添加file1文件,以过滤该文件,但是通过git status查看仍显示file1文件的状态。原因:在git库中已存在了这个文件,之前push提交过该文件。.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些转载 2017-12-26 14:15:35 · 293 阅读 · 0 评论 -
关于AndroidStudio的首字母大小写敏感和自动导包的设置问题。
换了环境 总是忘记怎么设置,记录一下方便开发。第一个是在settings里面搜索Auto Import然后给 Add unambiguous imports on the fly 和 Optimize imports on the fly 打钩即可。第二个是在settings里面搜索case senstive completion。 然后设置为none。原创 2018-01-03 10:31:28 · 938 阅读 · 0 评论 -
以Android L读取系统所有logcat并写入文件为例分析Android 以添加系统进程的方式申请selinux的权限执行shell脚本,以及avc:dined应该怎么申请权限
首先说说环境:基于Android L的aosp修改(修改对于此文基本无影响)过的sorce code.本来的思路是通过setenforcing permissive来开启宽容模式,可是宽容模式就是selinux的debug模式就相当于关掉了seliux毫无安全可言,而下面说到的,是以我的读取系统logcat并写入文件为例,来讲在selinux中申请我们所需的权限。系统服务:在ini原创 2017-09-10 18:54:31 · 2028 阅读 · 4 评论 -
关于u8BOM,LF,CRLF的认知。
首先说下遇到的问题。工作需要,有一个json文件需要被签名后使用。当时为了开发方便用记事本另存为u8然后签名,校验通过,用git push 到repository。 这时候问题来了,发现本地build出来的apk对json文件签名的校验是没问题的,但是jenkins build出来的就是无法识别json文件的签名。 来回的折腾后首先发现在linux下用vi打开会看到&...原创 2018-03-02 10:39:52 · 862 阅读 · 0 评论 -
Error:null value in entry: incrementalFolder=null
前几天公司电脑AS卡住了。任务管理器杀掉再起来之后AS就报了这个错:Error:null value in entry: incrementalFolder=null找了很多帖子论坛网页(包括stackoverflow)结论千篇一律的让把.gradle文件夹删除了 然后说是重新clean build 一次就行。反复试了5,6次都没生效。而且主要我这边原创 2017-09-05 16:37:11 · 729 阅读 · 0 评论 -
关于enum in android的一篇好帖子
stackoverflow的帖子原创 2017-05-10 20:26:53 · 280 阅读 · 0 评论 -
onCreate的savedInstanceState和onRestoreInstanceState 方法的区别。
总结了下:oncreate是在onstart之前执行是activity声明周期,而onRestoreInstanceState 是在onstart之后onresume之前执行。stackoverflow上看到的一个比较好的解释:onRestoreInstanceState is redundant because you can easily restore state in原创 2016-01-06 11:16:31 · 2211 阅读 · 0 评论 -
安卓开发小技巧。
adb shell dumpsys window windows > + 路径文件可以把相关操作导入文件操作手机后搜索mCurrentFocus可以看到对应界面的包名类名。更方便查找一个类。原创 2016-01-22 17:38:55 · 380 阅读 · 0 评论 -
使用Android Support Annotations优化代码
原文链接:http://michaelevans.org/blog/2015/07/14/improving-your-code-with-android-support-annotations/本文有翻译+跟人使用心得。如果你还没有听说过Android Support Annotations 函数库,你将错过一个整洁的新软件包,它有助于你捕获程序中的bugs。该函数库包含了许多的Ja原创 2016-01-07 12:02:25 · 507 阅读 · 0 评论 -
自己的chinglish弱爆了,不定期记录自己遇到的词汇。
算是知识储备吧,不然老忘。prior to ..在。什么什么之前 [ˈpraɪɚ]A transaction can only be committed with this methodprior to its containing activity saving its state.一组在他所控制的activity保存状态之前只能用此方法来提交的事原创 2016-04-14 10:49:14 · 308 阅读 · 0 评论 -
持续更新linux下遇到的问题。
--------------16/9/23------------anil@anil:~$ sudo apt-get install default-jre[sudo] password for anil: Reading package lists... DoneBuilding dependency tree Reading state information... D原创 2016-09-23 12:02:26 · 653 阅读 · 0 评论 -
make sdk
最近有需求需要编译自己的sdk, 研究了下 build sdk需要在编译好的源码的images的基础上进行。然后执行make win_sdk是编译windows版的SDK,编译windows版的SDK需要先编译LINUX版的SDK ,make sdk。如果没有执行make sdk会默认先去build LINUX下的SDK。所以如需要编译win下的SDK直接make win_sdk即可。原创 2016-10-28 15:00:37 · 1386 阅读 · 0 评论 -
linux下命令
持续更新 :sudo---相当管理员权限apt ---安装工具的命令rar下解压是 rar x就可以解压tar就得是tar -xjf。还有一个zip很好用的工具是p7z。7zr x。sudo dpkg -i *.deb 可以安装.deb文件--------------------9/23更新----------------------------原创 2016-09-22 13:33:34 · 1208 阅读 · 0 评论 -
Vi模式下x跟wq的区别
在vi编辑页面,x跟wq的作用都是保存并退出,那么他们的区别是什么呢:x没有修改就不会 修改文件修改时间 强制保存等等。wq不论保存时刻的结果跟以前结果有没有区别都会进行强制的保存和修改文件修改时间。原创 2017-01-05 16:18:13 · 1753 阅读 · 0 评论 -
更新一些git命令
1.git reset 文件名2.git rm --cached 文件名两种方法都可以做到。从命令上而言 第二种更符合逻辑,但是会一不小心删除文件。老是忘记,记录一下以免忘记。-------------2017/1/19-------------git log -1 --raw 可以在看到本地的commit修改了哪些文件。----------原创 2017-01-11 13:53:24 · 382 阅读 · 0 评论 -
关于Camera和MediaRecorder的问题
近期接到需求需要Camera配合MediaRecorder进行preview转视频的录制,问题1:从Camera切换到MediaRecorder的时候,会遇到1秒的卡顿,两种方式,1是将recorder的videoSource设置成surface,但是stopRecord的时候会报sropFailed。2是将recorder的videoSource设置成Camera并且调用setCamer原创 2017-03-15 15:50:41 · 712 阅读 · 0 评论 -
对于java关键字volatile,和transient 的理解
之前有看到文章写到写单例的时候最好加上关键字volatile,感兴趣的朋友可以自己去找文章。一直对于volatile的理解浅显,直到看到一篇文章,下面将链接share出来,感兴趣的朋友可以去看看。点击打开链接转载 2017-03-15 15:58:15 · 270 阅读 · 0 评论 -
linux学习小记---centos和ubuntu对于文件下载安装的区别。
centos是redhat的衍生版,与redhat不同的是redhat的一些软件是收费的,而centos是免费的。他们都是采用rpm包的形式通过yum方式来下载安装。为什么要采用yum代替 rpm呢 因为rpm需要手动去找源文件,而且这个源文件是不包含自己的dependencies的,还需要手动去找dependencies,还不确定dependencies有没有dependencies...相当麻...原创 2018-03-19 12:09:38 · 512 阅读 · 0 评论