
Android
文章平均质量分 60
feiniao8651
这个作者很懒,什么都没留下…
展开
-
adb push报错‘read-only file system‘
adb push报read only file system时的解决方法原创 2023-02-02 18:21:23 · 1839 阅读 · 0 评论 -
Android调用系统隐藏API时注意的问题
文章目录Android P(28)开始的限制AndrodX的引用引用jitpack旧版本包时的问题Android P以上该怎么办?Android P(28)开始的限制从 Android 9(API 级别 28)开始,Android 平台对应用能使用的非 SDK 接口实施了限制。只要应用引用非 SDK 接口或尝试使用反射或 JNI 来获取其句柄,这些限制就适用。这些限制旨在帮助提升用户体验和开发者体验,为用户降低应用发生崩溃的风险,同时为开发者降低紧急发布的风险也就是说从android sdk 版本原创 2021-05-30 10:59:39 · 1072 阅读 · 3 评论 -
使用adb出现假emulator的解决方法
android开发中最常用的一个工具就是adb了。自己一直是用一台linux服务器连接android来做调试开发,今天在查看adb连接设备列表时#adb devicesList of devices attachedemulator-5554 offlineemulator-5556 offline这个问题对我来说并不陌生,通常解决的方式都是执行命令adb kill-server,然后原创 2018-02-01 02:10:44 · 10363 阅读 · 2 评论 -
SQLite数据库的INTEGER类型
SQLite作为一款轻量级数据库,常用于移动端的开发。今天开发的时候遇到一个问题,在解析一个其他应用的数据库时,数据库的表结构里字段数据定义为INTEGER,但是使用Cursor的getInt方法,获取到的数据跟数据库中的数值不一致。通常理解下,int和INTEGER应该是同一种数据类型,也有很多数据库确实是这么处理的。但是后来通过验证发现,在SQLite中,int和INTEGER是有很大的区别。S原创 2017-06-20 23:19:05 · 37512 阅读 · 0 评论 -
android开发中selinux的影响
OS:Android 6.0 在设备上访问一个SharedPreference,文件路径没有问题,对应的文件也存在,访问权限也设置成了777,但是每次用getSharedPreferences访问文件时,总是会报错:W/SharedPreferencesImpl: getSharedPreferences原创 2017-06-10 21:02:46 · 2905 阅读 · 1 评论 -
Android对其他应用/data分区下文件的读取
最近在做一个功能,需要判断一个第三方应用/data分区下的某个文件是否存在。未root的手机是不能访问到其他应用/data分区下的文件的,我现在使用的设备已经打开了root。 Java的File类可以对文件做一系列操作。开始的思路是通过File.listFiles()来获取目标应用的子文件列表,然后对指定的文件进行exists()判断。但是当进入到包名下的一个目录时,里面的文件夹用isDirect原创 2017-06-13 23:34:55 · 10237 阅读 · 0 评论 -
国内免代理下载android源码
android程序猿痛苦的事情之一,就是Google的各种资源都被墙掉了,下载资源的话一定要翻墙。当然,由于国内的一些资源分享网站(http://www.androiddevtools.cn/ http://tools.android-studio.org/)等,以及google最近新出的https://developers.google.cn/,让翻墙已经不再是必须。但是在下载android源原创 2016-12-14 19:50:12 · 3152 阅读 · 0 评论 -
Android开发: 通过修改数据库改变屏幕旋转方向screen rotation
转自:http://whithin.blog.51cto.com/690417/1066779/通过修改数据库System settings 来修改手机屏幕的旋转方向, 设置Settings.System. ACCELEROMETER_ROTATION和Settings.System. USER_ROTATION的值,可以通过命令行和Java API来实现 1.通过命令行来修改su sqlite转载 2017-06-03 16:39:57 · 4623 阅读 · 0 评论 -
使用UInput模拟系统键盘鼠标动作
转自:http://blog.sina.com.cn/s/blog_602f87700100llew.html在最近的项目中,Sam需要将设备数据解析后以系统键盘鼠标的消息发送出去。选用UInput(关于UInput Driver以及编译,( http://blog.sina.com.cn/s/blog_602f87700100liyk.html)。当uinput driver已经insmod, 且转载 2017-05-23 20:49:04 · 1991 阅读 · 0 评论 -
Android应用push到/system/app/后so库不能加载
Android应用为了保证自动启动和进程存活,通过直接push到/system/app/下的方式来安装。应用内引用了几个动态链接库(so),但是每次启动的时候,都会报动态链接库加载错误:java.lang.UnsatisfiedLinkError一开始怀疑是自己gradle配置或者是库使用错误的架构的问题,但是尝试了所有的gradle配置,apk里也打包了全部可能的库架构(armeabi,armea原创 2017-06-17 22:13:00 · 9816 阅读 · 0 评论 -
android底层源码开启全部日志
android系统中日志及对应的等级大小为: VERBOSE < DEBUG < INFO < WARN < ERRORandroid底层源码通过宏开关控制相应等级的日志输出。 经常在源码看到这个宏的定义//#define LOG_NDEBUG 0如果宏被注释掉,那么只输出DEBUG及以上的日志,如果要输出全部日志,去掉该条宏定义的注释即可。原创 2017-04-26 21:10:39 · 2464 阅读 · 0 评论 -
Android系统模拟鼠标键盘详解
转自:http://blog.sina.com.cn/s/blog_602f87700102uz8j.html在Android系统下模拟鼠标键盘等输入设备,网络上资料非常多。但不少是人云亦云,甚至测试都不愿测试一下就抄上来了。这次写一点体会,当作抛砖引玉。0.背景知识: 众所周知,Android是将Framework架在Linux之上的系统。Linux层和硬件打交道,Framework通过JNI等转载 2017-05-23 20:42:44 · 16491 阅读 · 8 评论 -
小米3刷机CM13
电脑上安装fastboot和adb.小米3移动版recovery和rom下载:http://pan.baidu.com/share/link?shareid=2552797177&uk=1729907244-TWRP3.0-13.0-20160404-UNOFFICIAL-pisces.zip //recovery文件-cm-13.0-20160419-UNOFFICIAL-pisces.zip原创 2017-04-20 16:56:47 · 7217 阅读 · 1 评论 -
cm13 编译过程中遇到的几个问题及解决方法
在尝试编译一个cm13的rom刷到小米3W上,编译过程中遇到一些问题,在这里记录一下解决方法。问题一[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.10:get (default-cli) on project standalone-pom: Couldn't download art原创 2017-04-15 12:09:01 · 2686 阅读 · 0 评论 -
cm13编译中的local manifest写法
转载注明出处:背景cm13官方支持小米3W,最近就想自己做rom编译,刷到小米3W上,参考网上的编译教程。 ps: CyanogenMod的官网www.cyanogenmod.org已经关闭了,新的官网地址为https://www.lineageos.org/问题同步完cm-13的代码后,执行source build/envsetup.shbreakfast cancro发现报错buildbo原创 2017-04-13 22:30:59 · 3065 阅读 · 0 评论 -
repo init报错Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
在涉及到AOSP的项目代码同步时,大家经常会用到repo工具(关于repo可以看我之前写的一篇文章)。由于众所周知的原因,我们在访问谷歌服务时会受到各种限制。执行repo init命令时,设计者出于维护和使用体验的考虑,每次都要去服务器端同步最新版本的repo工具,这时大家经常会遇到报错:fatal: Cannot get https://gerrit.googlesource.com/git-re原创 2017-03-01 22:45:05 · 34807 阅读 · 2 评论 -
android 点击快捷方式提示未安装程序的解决
最近APP出现一个很奇怪的问题,在android 4.4.2和android 4.4.3系统上点击应用的快捷方式,打不开应用,而且会提示未安装程序。确认了应用的MainActivity中设置了android.intent.action.MAIN,添加了INSTALL_SHORTCUT的权限,并且快捷方式的Intent是指向正确的Activity,原因就一直没找到。后来分析了一下在点击快捷方式时原创 2015-01-21 13:16:56 · 3600 阅读 · 5 评论 -
Android(root)设备HTTPS请求时间校准
https请求已经成为各大公司的标配。但是在请求的时候,由于https证书是有时间限制,所以必须保证本地的时间是准确的。这里提供一种时间校准的思路。原创 2017-08-31 20:21:29 · 1618 阅读 · 0 评论 -
adb server version (31) doesn't match this client (41); killing...
作为一个Android开发,这个问题可能很多人都遇到过,但是网上并没有一个统一的处理方案,都是不同的情况导致的。总结下来,遇到这种报错,一般情况是自己最近又安装了某应用,自带adb程序,但是版本和自己环境变量里设置的不一致,导致在使用adb命令的时候出现报错。解决方案可以设置新装应用的adb程序和自己之前使用的一致,如果新装应用没有这个选项,那就只能每次在用adb命令遇到这个报错时,用系统的进程管...原创 2019-10-01 17:04:42 · 613 阅读 · 0 评论 -
android原生分享遇到的一个小问题
问题在使用Android原生分享实现将一段文本分享到微信时,点击分享,发现分享的引用列表中并没有微信icon,但是有一个Android系统的选项,点击Android系统,就会显示微信的icon,包括发送到微信和添加到收藏两个选项。这里要解决的问题就是怎样在第一层的分享列表里就显示微信图标。分享时显示Androjd系统:点击这里的Android系统会看到微信分享的选项:问题分析及解决这...原创 2019-07-22 22:04:22 · 1679 阅读 · 0 评论 -
AndroidStudo运行Android项目报错java.lang.NoSuchMethodError: No virtual method
问题Android Studio导入一个github上的开源项目,能编译成功并安装到真机,但是在运行的时候就会报java.lang.NoSuchMethodError: No virtual method错误。分析代码里是能够看到调用的方法,函数声明和调用也都一致。不是代码的问题,如果是代码问题,那编译的时候就应该报错了。网上对于这个问题,大多数提到的解决方式是禁用AS的InstantRu...原创 2018-12-19 14:05:48 · 8943 阅读 · 0 评论 -
Android SSL异常问题解决
背景一直使用的是阿里云免费的ssl证书,免费的午餐肯定是有一些缺点的,就是有效期只有一年,过每年都要重新申请一次证书。服务器最近证书到期了,换了新的证书到服务器之后,电脑上https访问是正常的,chrome浏览器的地址栏里能看到安全标识。但是在Android应用上就出现报错:javax.net.ssl.SSLPeerUnverifiedException: No peer certifica...原创 2018-11-04 14:09:32 · 12590 阅读 · 3 评论 -
katalon设置Android SDK路径
C:\Users\Administrator.katalon\tools\android_sdkhttps://blog.youkuaiyun.com/xuecancan/article/details/79539221原创 2018-10-14 22:45:19 · 2105 阅读 · 0 评论 -
Android开机执行指定shell脚本
首先说明一点,这篇文章是偏向Android ROM定制,不适用于应用开发方向,如果是普通的应用开发者可以不用看了。Android启动流程对Android启动流程有了解的人,可能知道Android系统最开始是由init进程启动起来的,init进程会启动zygote进程,有了zygote才启动起上层的系统服务来。而init进程启动其实就是包含了解析执行init.rc的过程。我们今天这个开机...原创 2018-08-14 11:58:01 · 14993 阅读 · 0 评论 -
Android通过shell命令修改网络信息
Android一般是通过设置界面来配置各种网络信息,今天讲一下当不方便使用设置的时候,通过shell命令来查看和配置网络的方法。 注:以下shell命令在不同版本Android系统上可能存在差异。查看网络连接信息查看全部连接#netcfgccmni2 DOWN 0.0.0.0/0 0x00000080 ...原创 2018-08-14 11:33:20 · 5647 阅读 · 0 评论 -
Android Studio安装Android SDK
文章允许转载,请注明来源:https://blog.youkuaiyun.com/feiniao8651/article/details/80220512背景OS:Windows 10 (其他操作系统应该也可以用同样的方式) 以前的Android Studio官网会提供ide和bundle两个版本,ide是只包含Android Studio的版本,bundle里直接包含了Android SDK的...原创 2018-05-07 01:50:40 · 8698 阅读 · 0 评论 -
Android NDK开发中libjpeg-turbo、libpng、libwebp图像压缩库的使用方法(一)
文章允许转载,请注明来源:http://blog.youkuaiyun.com/feiniao8651/article/details/78620285引言gif,png,jpg,以及最近几年逐渐崛起的的webp,都是大家常见的图像格式。之前开发程序的时候,一般都是调用系统封装好的图像api,难得有机会在代码里直接调用这些库。最近在做项目过程中,使用这些库的时候,一直苦于没有一个全面完整的说明,需原创 2018-01-19 00:52:34 · 2065 阅读 · 0 评论 -
android开启adb无线调试
两种方式第一种(不需要root)首先用usb线连接设备,直接用adb tcpip命令adb tcpip 5555ps:这里涉及到一个wifi和usb连接切换的命令adb usb //可以使用usb线连接设备第二种方式(需要root)在设备上安装终端模拟器,在终端模拟器内执行susetprop service.adb.tcp.port 5555参考awesome-adb原创 2017-04-12 14:53:05 · 13941 阅读 · 0 评论 -
Android刷机报错failed to mount /cache (No such device)
小米3手机刷CM13的rom,fastboot刷入recovery后,使用adb sideload命令刷入rom,但是每次手机上都是报错E: failed to mount /cache (No such device)尝试重刷recovery也不行,从报错上看应该是系统的/cache分区出了问题,用recovery双清也不行,在一篇帖子中发现了fastboot -w的命令:-w erase use原创 2017-04-11 18:15:13 · 15787 阅读 · 0 评论 -
android Java代码中引用字符资源
网上看到的java引用字符资源的方法,都是getResources().getString(R.string.xx)的方法,为什么不是直接使用R.string.xx呢?尝试了一下setText(R.string.xx)的方法,也能获取到正确的字符串值,但是如果是setText(R.string.xx + "个"),就会出现字符就会变成一串数字。原因在于setText()方法有有两种不同的参数i原创 2015-01-22 17:48:15 · 5317 阅读 · 1 评论 -
color.xml 中定义drawable和color的区别
参考stackoverflow,Basically nothing. They both create a resource that is a "color" value holding a 32 bit color. One is just a drawable subtype, one is a color subtype. When you retrieve a Drawable原创 2015-02-07 17:01:00 · 1810 阅读 · 0 评论 -
Android 4.4发布了新的API并为用户和开发者加入了新的特性
http://blog.jobbole.com/68504/转载 2014-12-09 17:36:54 · 554 阅读 · 0 评论 -
Android touch事件处理传递机制
http://mobile.51cto.com/abased-374715.htm转载 2014-12-09 17:16:00 · 525 阅读 · 0 评论 -
GestureDetector类及其用法
http://blog.sina.com.cn/s/blog_77c6324101017hs8.html转载 2014-12-09 20:44:56 · 521 阅读 · 0 评论 -
Eclipse android SDK content loader 0%
直接用任务管理器结束eclipse.exe和adb.exe,再重启,基本上都能解决这个问题。网上还有删除配置文件的方法,没试过。原创 2014-12-08 10:19:17 · 588 阅读 · 0 评论 -
Android SharedPreferences 文件在卸载和覆盖安装的区别
卸载时,应用的SharedPreferences文件会被删除,而当覆盖安装时,则会被保留。因此,想要对不同版本区分,可以尝试key+version的方式。原创 2015-01-11 14:49:29 · 9998 阅读 · 0 评论 -
android应用更新完成后自动打开
写了一个Receiver,对android.intent.action.PACKAGE_ADDED的广播进行处理,当接收到该广播时,打开应用。 if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) { try{ if(intent.getDataString().contains("应用包名"原创 2015-01-09 19:15:15 · 4046 阅读 · 0 评论 -
Android 点击Notification事件处理
项目中,要实现一个点击Notification跳转到指定页面的功能,但是这个页面是Fragment之一,Fragment又是在viewpager里面,因此不是仅仅打开Activity就可以的,还需要打开activity后设置viewpager.setCurrentItem()。 Intent intent = new Intent(this, MainActivity.class);原创 2015-01-26 20:55:12 · 4811 阅读 · 2 评论 -
android加载图片Out Of Memory的解决
项目中要加载从网络上获取的图片资源,但是有的图片很大,可以达到1080*1920的尺寸,这么大的图片如果全部载入内存,很容易出现Out Of Memory(OOM)的问题。解决的方法是利用BitmapFactory.Options。 HttpURLConnection hp = (HttpURLConnection) imageURL.openConnection();原创 2014-12-15 20:03:30 · 990 阅读 · 0 评论 -
EditText焦点的获取和TextWatcher的使用
当点击EditText时,通过request获取焦点时,如果原创 2014-11-05 20:18:27 · 1708 阅读 · 0 评论