
Android
文章平均质量分 72
阿强的一亩三分地
致力于Android系统研发,拥抱开源项目!
展开
-
Android studio 报错无法找到android.support.v4.app.Fragment——终极解决方案
最近搞了一个小工具,UI界面使用了android.support.v4.app.Fragment,然后编译报错无法找到android.support.v4.app.Fragment,从网上找各种文章,国内国外都看了一遍,大部分解决方案原因都是说Android 9之后默认导入了Androidx,Android Studio较新版本默认使用androidx的包,摒弃了以前的support包。根源就是隐藏很深的Gradle文件,如果每一个工程使用自己的gradle,这样很多环境编译的问题也就迎刃而解了。原创 2024-04-18 11:01:36 · 2901 阅读 · 2 评论 -
Android 4.0.4 data call fail - 数据激活失败处理机制
Android数据激活步骤,此处不做详述,主要介绍激活失败后的处理:1. Android数据连接分为两种:默认连接和个别应用需要时建立的连接两种。默认连接在开机是建立并始终保持,可通过一些控制来断开,另一种连接是应用请求时才建立的连接。ConnectivityManager.java 包含了基本所有的API:申请建立连接 API: public int startUsingNet原创 2012-09-13 06:47:49 · 7407 阅读 · 2 评论 -
如何将java打包成jar, 如何将JNI的.so库和jar添加到应用APK中
1. 如何将Java打包成jarEclipse中选择工程,右击选择 Export->java->JAR file, NEXT按钮,然后选择想要打包的文件java,class都可,然后在 Select the export destination. 自己选择命名保存jar文件。2. 如何将jar, lib.so添加到应用APK中Eclipse中选择工程右击, 选择 Propert原创 2013-08-30 17:22:18 · 6206 阅读 · 0 评论 -
如何将c程序执行文件打包入APK中,两种方法
如何将一个可执行的文件打包到APK中,用户在下载APK后直接使用,我现在想到了两种方法:一种是将C程序直接打包到APK中,这种适合于独立执行程序或者你手上没有源码;另一种是将C程序作为库然后使用JNI来调用C程序;解压缩即可看到APK如下目录:|-AndroidManifest.xml|-res|-assets/|-META-INF|-class.d原创 2013-09-13 15:30:10 · 8947 阅读 · 1 评论 -
How to get Android Phone ServiceState - APK应用如何获得Android Phone的ServiceState,两种方法
应用侦听Android Phone ServiceState的方法这里介绍两种方式方法一:侦听 Intent TelephonyIntents.ACTION_SERVICE_STATE_CHANGED, 此Intent 是 sticky 类型,所以应用每次启动都可以获得。 MyPhoneStateReceiver myreceiver = new MyPhoneSt原创 2013-09-17 13:13:05 · 3322 阅读 · 0 评论 -
Android应用如何获得SIM状态
应用如何获得SIM状态: /* * SIM status */ public String getSimState(){ TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);原创 2013-09-17 13:17:24 · 1399 阅读 · 0 评论 -
Android分布式编译学习(四)各种编译测试对比表 —— Ubuntu12.04上部署distcc分布式编译
上接 http://blog.youkuaiyun.com/eqiang8271/article/details/17225765 Android分布式编译学习(三)—— Ubuntu12.04上部署distcc分布式编译引入 distcc + ccache + dumcs 提高编译效率。 如下三个表格针对使用 ccache 和 dmucs 与普通编译的测试比较, 从测原创 2013-12-12 14:04:42 · 2187 阅读 · 0 评论 -
Android分布式编译学习(三)dmucs实现负载均衡 —— Ubuntu12.04上部署distcc分布式编译
上接 http://blog.youkuaiyun.com/eqiang8271/article/details/17166769 Android分布式编译学习(二)—— Ubuntu12.04上部署distcc分布式编译三. dmucs实现负载均衡 I. 选中某台主机作为dmucs 服务器,进行配置: 1. 开机启动dmucs: 修改 /etc/default/d原创 2013-12-09 17:08:15 · 3324 阅读 · 3 评论 -
Android分布式编译学习(二)使用ccache 提高编译效率 —— Ubuntu12.04上部署distcc分布式编译
http://blog.youkuaiyun.com/eqiang8271/article/details/17144411上接 Android分布式编译学习(一)—— Ubuntu12.04上部署distcc分布式编译,我们已经部署了distcc 3台PC进行编译。二, 介绍 Setting up ccachegoogle 有介绍:http://source.androi原创 2013-12-06 14:34:03 · 3023 阅读 · 0 评论 -
Android分布式编译学习(一)distcc实现分布式编译 —— Ubuntu12.04上部署distcc分布式编译
Android代码庞大,如果你是做android系统开发的会经常做full build, 代码编译时间一般4核CPU你得2个小时左右吧,一天你也就编译那么几次了得了,象我们用的40核的服务器一般做full build 18分钟左右,但是一般的工程师在自己的PC上如何编译的更快呢?网上查看了一些资料大部分都是用的distcc,distcc已经好几年的使用时间了,其主要是针对C, C++进行分布式编译原创 2013-12-05 17:42:35 · 11230 阅读 · 2 评论 -
Eclipse build error 解决方法The library '*.jar' contains native libraries that will not run on the dev
[2013-08-29 16:56:58 - jarsotest] The library 'wnp.jar' contains native libraries that will not run on the device.[2013-08-29 16:56:58 - jarsotest] The following libraries were found:[2013-08-29 1原创 2013-08-29 17:11:43 · 9208 阅读 · 5 评论 -
Android APK JNI sample (JAVA JNI)
一个小实例介绍 Android JNI 如何实现步骤,其中有个遇到的加载库失败的教训:1. 编写JAVA代码,写明要调用的本地动态链接库的本地方法:wnplib.javapublic class wnplib{ public native void SayHello(String name); static { System.lo原创 2013-08-14 17:15:00 · 7380 阅读 · 3 评论 -
Android logcat log size -- Android logcat log 大小限制如何设置
首先看看Android对logcat 的介绍:logcatThe Android logging system provides a mechanism for collecting and viewing system debug output. Logs from various applications and portions of the system are col原创 2012-09-26 14:43:24 · 13617 阅读 · 0 评论 -
Reading and Writing Logs
http://developer.android.com/tools/debugging/debugging-log.html#logClassThe Android logging system provides a mechanism for collecting and viewing system debug output. Logcat dumps a log of syst转载 2012-09-26 15:12:31 · 991 阅读 · 0 评论 -
Android 手机root后修改文件系统属性
1. 首先你可以先root手机,如何root,大部分都是从国外的网站拿来的软件并翻译来的,一步步来很容易实现。2. root后,如果我们想修改文件系统的属性,如何实现? 实例如下:(1). List current mounted system : mount shell@android:/system/xbin # mountrootfs / roo原创 2012-10-24 11:09:55 · 6922 阅读 · 0 评论 -
How to known Android data connection reset? (socket side)
近日解决了一个问题,就是当移动数据连接突然断开或手机进入到了飞行模式,youtube在线播放视频并没有提示用户当前网络不可用。其实大部分的Android应用在数据连接断开后或者手机进入飞行模式都会收到数据状态变化的intent,这时监测到当前网络的数据连接不可用,提示用户当前网络不可用,但是有一部分的应用,它只是通过普通的socket来进行数据交互的,这样的应用却无法得知当前socket是坏连接,原创 2012-11-05 11:46:04 · 2501 阅读 · 1 评论 -
linux子进程退出状态值解析:waitpid() status意义解析
http://tsecer.blog.163.com/blog/static/15018172012323975152/一、和子进程同步在linux系统中,父进程通常需要通过waitpid来等待/获取子进程状态变化情况,而这个主要就是通过waitXXX函数族来实现的,例如常见的init函数实现的respawn类配置进程(例如getty)、调试器中对子进程状态的获取,shell对转载 2012-11-26 13:46:36 · 16128 阅读 · 0 评论 -
使用网络流量分析工具更好调试Android应用(转)
2012-05-16 09:00 廖煜嵘 译 51CTO.com我要评论(2) 字号:T |T(注意文中的端口顺序有误,adb forward tcp:54321 tcp:12345 如下全部要更改,使用时自行修改)在Android应用开发中,网络流量的监测是十分重要的一个环节。在本文中,将指导开发者在开发者在开发android应用时,如何监视所有跟网络转载 2013-01-11 16:54:05 · 1227 阅读 · 0 评论 -
Linux DNS timeout, attempts.---DNS超时,重试的配置
Linux具有的独特优势,很多问题你都可以动手自己动手解决,任何问题先试试 man 一下。对于Linux DNS 超时 timeout,重试 attempts 机制及如何设置可以 man resolv.conf 阅读查看来解决:查看后发现超时timeout 默认是5秒,上限是30秒。重试attempts默认2次,上限是5次。当然准确值需要查看>。RESOLV.CONF(5)原创 2013-02-17 11:11:51 · 16963 阅读 · 0 评论 -
Support for EAP-SIM and EAP-AKA in Android.
http://code.google.com/p/seek-for-android/wiki/EapSimAkaNOTE: The described EAP patch will only work on a real Android Smartphone which has an up and running SmartCardAPI with UICC support转载 2013-04-12 15:39:23 · 4223 阅读 · 0 评论 -
linux系统,如何查看进程访问的设备和文件
对于开发者来说linux真是一个很好的系统,很多线索都可以从系统中找到。最近遇到一个问题,PC端有一个工具可以通过USB串口可以将数据写入到对端的linux系统里,但是对于开发者PC端工具是厂商提供没有代码,无法知道如何通信的。这样也很难知道linux系统里那些模块参与了。这时候有个方法是很有用的,你可能不知道linux系统端总共有那些模块参与,但是你肯定能知道一两个模块肯定参与其中了。如何查看参原创 2013-07-19 14:00:06 · 2901 阅读 · 0 评论 -
判断 Android 应用的 Apk 签名是否一致
http://www.zhihu.com/question/20749413王仲禹,Android NC粉毕设做的是Android应用重打包检测,首先就需要批量检测Android应用之间签名是否一致。所以在这里介绍一下在终端中如何写脚本或者直接输入命令批量检测应用签名是否一致。Android应用的发布形式apk中包含的签名加密方法除了RSA还有DSA,所以不能只转载 2014-01-27 14:05:13 · 2579 阅读 · 1 评论 -
Android framework 中显示toast方法
直接用应用的方法去显示就会抛出异常,无法跨进程访问。后来找到一个方法: Handler handlerToast = new Handler(Looper.getMainLooper()); handlerToast.post(new Runnable() { public void run() {原创 2014-12-31 18:54:38 · 1808 阅读 · 0 评论 -
浅谈 android ANR 如何找有用的信息
ANR --- Application No Response)。发生ANR时,会生成/data/anr/traces.txt 来记录系统中各进程的状态。对于由锁LOCK造成的ANR,可以由traces文件看出一些有用信息。首先找各进程在等待哪个lock,可以搜索held by"Binder_8" prio=5 tid=67 MONITOR | group="main" s原创 2015-03-25 12:35:15 · 2075 阅读 · 0 评论 -
android CTS ----- android.net.cts.ConnectivityManagerTest测试fail
CTS测试中出现如下CASE FAIL:android.net.cts.ConnectivityManagerTest-- testGetAllNetworkInfoandroid.net.cts.ConnectivityManagerTest-- testGetNetworkInfoandroid.net.cts.ConnectivityManagerTest-- testIsNet原创 2015-04-04 16:34:25 · 4053 阅读 · 0 评论 -
Android5.0.1源码编译,android5.1.1源码编译遇到的编译错误如何解决?
On Ubuntu14.04java version "1.7.0_95"OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-0ubuntu0.14.04.2)OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)5.1.1 requ转载 2016-04-06 13:20:49 · 3120 阅读 · 0 评论 -
移动端Web开发调试之Chrome远程调试(Remote Debugging)
http://blog.youkuaiyun.com/freshlover/article/details/42528643转载 2016-08-13 12:17:42 · 2107 阅读 · 0 评论 -
How to enable Android dhcpcd send hostname request
参考代码可以知道,两个关键点,第一个是找到对应到网卡 wlan0, 如果你的网卡另有名,清更改为你的网卡名(网卡名称错误直接代码跳过,所以无法发送hostname). 另一个是 hostname 设置的名称, 如果更改名称直接修改 PC-myName.AOSP/external/dhcpcd/android.conf# dhcpcd configuration for Andr原创 2016-10-14 19:40:42 · 1245 阅读 · 0 评论 -
Android rild架构及流程介绍【转载】
http://www.2cto.com/kf/201609/549285.html转载:写的比较详细 一、基于Rild的通信架构一般智能手机的硬件架构都是两个处理器:一个处理器用来运行操作系统,上面运行应用程序,这个处理器称作Application Processor,简称AP;另一个处理负责和射频无线通信相关的工作,叫Baseband Processor,简称BP。在An转载 2016-11-16 17:53:24 · 1763 阅读 · 0 评论 -
How to get camped network type name - Android应用如何获得Phone当前注册的网络类型
How to get camped network type name:"Camped network name"应用如何获得当前modem注册的网络类型: /* * Camped network name */ public String getNetWorkType() { TelephonyManager mTelepho原创 2013-09-17 13:26:06 · 1590 阅读 · 0 评论 -
修改framework中config.xml的networkAttributes网络资源后导致CTS testGetAllNetworkInfo失败
修改framework中资源后导致CTS testGetAllNetworkInfo失败[ANSWER]原因:修改了framework资源,编译的时候资源ID发生了变化,导致通过ID获取的资源不正确,导致此项CTS case失败。修改方案:在current.txt和public.xml固定这个ID,不随平台资源修改变化:原创 2014-10-04 08:47:18 · 4267 阅读 · 0 评论 -
android init.rc中启动的service 默认是disable的,后续如何启动此服务
如果 android init.rc中启动的service 默认是disable的,如何才能启动此服务呢?原创 2014-10-04 15:44:51 · 19194 阅读 · 1 评论 -
Android quota
android_net_TrafficStats.cpp原创 2014-05-04 14:25:56 · 4203 阅读 · 0 评论 -
Telephony 常用的3Gpp协议列表小结
1.AT CommandTS 27.007 AT command set for User Equipment (UE)2.SMSTS 24.011 Point-to-Point (PP) Short Message Service (SMS) support on mobile radio interfaceTS 23.040转载 2014-07-17 17:14:30 · 3188 阅读 · 0 评论 -
Ubuntu 13.10 Android KK Initializing a Build Environment
1 安装java6 注意:openjdk不推荐使用,编译中可能造成混淆及功能缺失。通过以下命令卸载openjdk,$ sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*2.1 添加apt 源sudo add-apt-repository "deb http://ppa.launchpad.net/ferramrober原创 2014-05-29 10:39:16 · 1163 阅读 · 0 评论 -
Android内核详解之Low memory killer
Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越转载 2014-07-25 15:10:38 · 1330 阅读 · 0 评论 -
Android 4.4.3 -CTS IPv6回环测试失败 [CTS]android.net.ipv6.cts.PingTest - testLoopbackPing - fail
CTS version 4.4_r3run cts --plan CTS[Testing Result]:android.net.ipv6.cts.PingTest - testLoopbackPing - faillibcore.io.ErrnoException: socket failed: EPROTONOSUPPORT (Protocol not supp原创 2014-09-23 14:47:26 · 3871 阅读 · 0 评论 -
ubuntu下提交代码 git commit -a 将编辑器默认的nano改为vim
[QUESTION]如何将ubuntu git commit -a 默认的nano改为vim ?[ANSWER]Ubuntu下git提交代码时终端默认的编辑器为nano, 可能习惯了VIM的工程师看到一堆的选项使用起来并不是很方便,使用 Vim 来为提交代码 git commit -a 添加comments更好用。设置的方法很简单,只需要修改一个配置我们就可以做到。操作原创 2014-09-25 10:27:53 · 6009 阅读 · 0 评论 -
dup() ---- Linux function dup() to save debug log.
#include #include #include #include void main(){ int fd; fd=open("./abc.log", O_RDWR|O_TRUNC|O_CREAT,S_IRUSR|S_IWUSR); dup2(fd, STDOUT_FILENO); printf("debug log wirite to abc.l原创 2014-10-30 14:38:02 · 761 阅读 · 0 评论 -
Java 转型—应用toArray()的一点启示,[ public string[] toarry ]
Java 转型—应用toArray()的一点启示Java 转型—应用toArray()的一点启示 Java支持向上和向下转型,有这样一段代码: Java代码 <a title="复制代码" onclick="function onclick(){dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http:转载 2009-12-03 09:50:00 · 1123 阅读 · 0 评论