Android开发
justFWD
这个作者很懒,什么都没留下…
展开
-
java.lang.UnsatisfiedLinkError低概率出错解决方案
Android的so加载函数 System.loadLibrary并不可靠,会有低概率情况出现java.lang.UnsatisfiedLinkError错误,概率低于万分之一。CRASH类似:java.lang.UnsatisfiedLinkError:Couldn't load XXX from loader dalvik.system.PathClassLoader[DexPathLis原创 2015-12-17 11:34:06 · 1697 阅读 · 0 评论 -
Android 6.0敏感权限新特性及使用方法
最近更新android sdk后,使用android studio使用blank activity创建一个demo工程,调用某个sdk,发现之前测试都正常的sdk发生了crash,经过排查发现6.0的权限使用问题 在android 22 之前,如果在权限列表里申请了权限,只要用户安装,就具有了这些权限,到6.0下面就不一样了,如果把targetSdkVersion设为23,会出现原创 2015-10-15 13:08:16 · 14751 阅读 · 1 评论 -
Android多用户模式的特性
虽说Android在4.2就开始支持多用户了,但是我手头上4.2系统的手机,并没有找到新用户创建的菜单。只好拿6.0系统的nexus5来做测试了。 一、手机状态信息不一样 Owner用户原创 2016-05-23 19:00:12 · 8921 阅读 · 0 评论 -
有没有简单可行的办法在AAR里集成导入的AAR
现在的SDK基本上都会封装成AAR来发布,但是有个问题,如果你的AAR还引用了其它的AAR,导出的时候并不会自动把引用的AAR也集成进去,别人使用你的AAR的时候,还需要再把你引用的AAR再导入一次。 如果你的SDK再供给其它SDK,这种集成问题就比较蛋疼了。有没有办法把引用的AAR集成到你的AAR里呢。 有一个比较繁琐的办法,就是把aar包解压,aar里面原创 2016-07-04 10:50:39 · 2944 阅读 · 0 评论 -
让APK只包含指定的ABI
现在很多android第三方 sdk是以aar形式提供的,如果这个sdk对abi的支持比较全,可能会包含armeabi, armeabi-v7a,x86, arm64-v8a,x86_64五种abi,而你应用的其它so只支持armeabi,armeabi-v7a,x86三种,直接引用sdk的aar,会自动编译出支持5种abi的包。 但是你应用的其它so缺少对其它两种abi的支持,那原创 2015-10-21 19:09:51 · 37690 阅读 · 5 评论 -
Android刷真机nexus5系统
前面的几篇文章把源码编译完成了,现在该刷system.img到nexus5中,为了保险期间我们先刷机官方Rom,然后再刷自己编译的镜像文件,bootloader-hammerhead-hhz12h.img这个驱动很重要啊!1、官方镜像文件地址是:https://developers.google.com/android/nexus/images#hammerhead文章用到的官方R转载 2016-08-09 17:16:07 · 2115 阅读 · 0 评论 -
Android最新 代号、版本和API Levels对应关系
官方的7.0还没更新,我先把7.0的加上去Platform Codenames, Versions, API Levels, and NDK ReleasesThe code names match the following version numbers, along with API levels and NDK releases provided for convenien原创 2016-08-10 11:57:23 · 3309 阅读 · 0 评论 -
release AAR的导出及自动拷贝
一、release AAR的导出 当使用Make Module生成aar包的时候,build\outputs\aar下面生成的总是XXX-debug.aar,而我们需要的是XXX-release.aar.网上搜索到办法都是使用命令行的gradle来实现,但是这样个实在是比较麻烦. 偶然间发现一个更为简便的方法来生成. 首先红框里的Gradle,把Gradle原创 2016-10-27 19:46:00 · 3768 阅读 · 2 评论 -
Java线程同步:synchronized锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:[java] view plain copy c转载 2016-11-15 12:16:50 · 671 阅读 · 0 评论 -
How to retrieve the Device Unique ID from android device
About This ArticleMany of the developers in Android require the unique Device ID of mobile handsets in special some case.for example, Device unique ID can be used , at tracking apps installati转载 2016-04-26 13:49:12 · 1829 阅读 · 0 评论 -
如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
原文:How to distribute your own Android library through jCenter and Maven Central from Android Studio 如果你想在Android Studio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中。12转载 2015-10-09 20:20:09 · 1216 阅读 · 0 评论 -
Android ndk的ABI条件编译
现在ndk开发基本上都要考虑armeabi, armeabi-v7, x86, arm64-v8a,x86_64五个APP_ABI,使用中发现一些问题,简单写一下心得吧 本文只针对armeabi, armeabi-v7, x86, arm64-v8a,x86_64五个APP_ABI原创 2015-09-16 19:05:05 · 3981 阅读 · 0 评论 -
android电池系统
內核:linux2.6/linux3.0系統:android/android4.0 平台:S5PV310(samsungexynos4210) 、samsung exynos4412android 電池(一):鋰電池基本原理篇android 電池(二):android關機充電流程、充電畫面顯示android 電池(三):android電池系統一、電池系統转载 2015-06-25 16:25:58 · 1402 阅读 · 0 评论 -
native层获取Android设备电池电量
java层获取电量需要注册BroadcastReceiver,如果native层通过反射来调用会非常麻烦。这里提供一个直接读取电量的方法string readFile(string fileName){ string con = ""; FILE *fd = NULL; char line[256] = { 0 }; fd = fopen(fileName.c_str(), "原创 2015-07-28 19:59:22 · 1694 阅读 · 0 评论 -
Robotium进行apk模拟操作用到几个文件
本来想利用Robotium实现自动登录的,后来发现效率实在太低,不过还是记录一下中间用到的几个工具或文件吧。 Robotium操作对象的apk需要跟测试包使用相同的签名。为了调试方便,准备把操作对象的APK打上debug签名。网上找到的方式一个是脚本签名,一个是re-sign.jar,脚本签名方式,我跑起来一直出错,re-sign.jar也总是提示CreateProcess出错,原创 2014-12-25 17:07:06 · 1111 阅读 · 0 评论 -
为Nexus5编译Android L固件
为Nexus5编译AndroidL固件Android接前一篇文章使用Android Studio查看Android Lollipop源码, 我们知道,仅仅看代码,提高是比较有限的,而且理解起来也比较肤浅,往往过目就忘. 而自己写过的代码,往往会印象比较深刻,在写的时候也会比较容易理解流程. 所以我们在看代码的同时, 如果能修改代码, 在手机上跑起来并看到修改转载 2016-01-21 10:12:11 · 2372 阅读 · 0 评论 -
android graphic(14)—EGL和OpenGL ES之间的关系
OpenGL是和编程语言、平台无关的一套interface ,主要是为了rendering 2D 和 3D图形等。一般这套接口是用来和GPU进行交互的,使用GPU进行rendering 硬件加速。 说白了OpenGL就是一组函数名,类似java中的interface,并不能直接用。转载 2017-12-04 15:14:41 · 1038 阅读 · 1 评论