
Android
安瑾随风
这个作者很懒,什么都没留下…
展开
-
在android中c c++代码中添加自定义的log
以前写过一篇在android中添加log的文章,写那篇文章时是在调webkit的js代码时遇到用系统的LOGD等函数无法打印出log信息,于是自己写了个log函数,来打印js信息,这次写的log可以实现不同级别的log打印不同的颜色,可以定位到log信息所在的函数 和所在的行数,系统的LOGD等函数需要自己定义个TAG来确定是那个模块的log,我将其优化了一下,不用自己等译TAG,直接以文原创 2013-09-06 14:33:00 · 1239 阅读 · 0 评论 -
在android的java代码中自定义log
android中java代码打印的log只有从tag来区分代码是那个模块的,android中带的Log函数也无法打印log信息所在的函数名和所在的行数等信息,这样看log不是很方便,奥是想向c中获取函数名和行数的宏放到java的log中,这样打印的log 一眼就能函数log所在的文件 函数名 和行数,马上就能定位到log的具体位置,而且在android中用adb 打印的log在终端上显示的都是白色原创 2013-09-04 11:07:09 · 2795 阅读 · 1 评论 -
android应用开发错误:Your project contains error(s),please fix them before running your
程序没有错误,但是在运行时提示Your project contains error(s),please fix them before running your application.试过了clean;也试过了delete工程,再重新导入,但是都没有用。偶然找到解决方法:linux:Window--》 Preferences--》Android--》Build中Default原创 2013-09-03 10:23:56 · 707 阅读 · 0 评论 -
service使用以及startService,stopService,bindService,unbindService方法比较
Service概述由于手机屏幕的限制,通常情况下在同一时刻仅有一个应用程序处于激活状态,并能够显示在手机屏幕上,因此,应用程序需要一种机制,在没有用户界面的情况下,能够长时间在后台运行,实现应用程序的特定功能,并能够处理事件或更新数据.Android系统提供了(Service)服务组件,它不直接与用户进行交互,却能够长期在后台运行。有很多情况需要使用Service,典型的例子就是:MP3播原创 2013-10-10 10:51:12 · 3765 阅读 · 0 评论 -
Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误
用虚拟机安装应用程序是出现了下面的错误,在网上找这个错误,但都没有解决这个问题,看来出现这个问题的情况很多,我出现这个错误的原因是在AndroidManifest.xml文件中添加了 android:sharedUserId="android.uid.system" 这个属性引起的这个原因。Installation error: INSTALL_PARSE_FAILED_MANIF原创 2013-11-28 10:06:52 · 1198 阅读 · 0 评论 -
android开机默认中文的方法
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->修改androidmake完以后语言默认为中文,在网上找了一些方法但是还没有成功。在解决这个问题时确定了应该要去修改Makefile的相应的文件里的PRODUCT_LOCALES变量,只是没有修改正确,android里 对这个变量的赋值,是根据你在make时所编原创 2012-07-20 14:21:10 · 2924 阅读 · 1 评论 -
Android 4.0 应用程序接收不到广播
在开发dlna服务时,将dlna服务做成一个后台运行的一个serve,在设置里开启dlna服务,通过android系统的广播机制来实现,但是遇到了发送完广播却接收不到广播的问题。通过查找资料得知,在3.1之后,系统的packagemanager增加了对处于“stoppedstate”应用的管理,这个stopped和Activity生命周期中的stop状态是完全两码事,指的是安装后从来没有启动过和被原创 2013-12-24 13:43:56 · 3202 阅读 · 1 评论 -
android 修改默认时间为24小时格式
由于项目需要,要将android系统的12小时的时间格式修改为默认为是24小时的时间格式。通过研究代码成功的将原来默认是12小时的时间格式该为24小时的时间格式,现将修改的方法写下来和大家分享android系统第一次开机决定系统的时间格式的代码在frameworks层的SettingsProvider应用中。首先要在xml文件中添加相应的代码,在frameworks\base\pa原创 2013-12-27 15:19:36 · 5914 阅读 · 1 评论 -
Android SystemProperties设置/取得系统属性的用法总结
通过调查得知,Android系统中取得/设置系统属性的用法参考以下3篇文章就足够了。1.Android SystemProperties简介介绍了设置属性需要的权限,已经设置权限的方法。Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用。其实用java的反射机制是可以使用这个类。何谓java反射机制,请自行研究学习,在原创 2013-04-28 14:27:02 · 937 阅读 · 0 评论 -
icovn移植到android上
由于项目需要,需要将GB2312格式的编码转换成UTF-8格式,用android本身的jni函数中的转换格式总是乱码,如果底层发上来的数 据,通过 jni的NewStringUTF()函数将数据转换成utf-8,但是发送到上层显示依然是乱码,也就是说NewStringUTF函数没有起 作 用,linux下有个iconv命令可以转换编码格式,于是想把iconv移植到android上,调用iconv中原创 2013-08-14 14:31:13 · 3096 阅读 · 2 评论 -
Android 为指定的应用创建桌面快捷方式
网上一搜一大把为自己的应用创建快捷方式,但是本文的侧重点在为“指定的应用”创建桌面快捷方式。 常见的桌面快捷方式有两要素:1.应用名 2.应用图标。 指定应用图标的信息是: // pkgContext为指定应用的上下文环境,iconIdentifier为一个整数,指定应用的图标标识符 ShortcutIconResource iconRes = Inte原创 2013-05-14 11:01:16 · 1559 阅读 · 1 评论 -
Android 如何判断一个应用在运行
Android 如何判断一个应用在运行 在一个应用中,或一个Service 、Receiver中判断一个应用是否正在运行,以便进行一些相关的处理。这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理Activity的,它有一个方法叫getRunningTasks,可以得到当前系统正在运行的Task的列表,代码如下: ActivityMan原创 2013-05-28 13:32:22 · 6719 阅读 · 2 评论 -
android的activity详解
由于开发的需要,要对activity有所了解,现在介绍一下android的activity。首先看一下Android的docs中提供的activity的时间触发图。四大状态 :如上所示,Android 程序员可以决定一个 Activity 的“生”,但不能决定它的“死”,也就时说程序员可以启动一个 Activity,但是却不能手动的“结束”一个 Activity。当你调用Act原创 2013-05-29 09:57:23 · 1207 阅读 · 1 评论 -
Android 安全机制
1 Android 安全机制概述Android 是一个权限分离的系统 。 这是利用 Linux 已有的权限管理机制,通过为每一个 Application 分配不同的 uid 和 gid , 从而使得不同的 Application 之间的私有数据和访问( native 以及 java 层通过这种 sandbox 机制,都可以)达到隔离的目的 。 与此 同时, Android 还 在此基础上进行扩原创 2013-06-20 10:38:24 · 720 阅读 · 0 评论 -
ubuntu 12.04(64位 server)下搭建 android2.3/android4.0开发环境及遇到的编译问题
一、安装编译所需要的库$sudo apt-get install build-essential libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev \ lib32z1-dev libgl1-mesa-dev gcc-multilib g++-multilib原创 2012-11-28 12:27:33 · 3452 阅读 · 0 评论 -
AndroidManifest.xml文件中Theme属性详解
android:theme="@android:style/Theme.Dialog" //Activity显示为对话框模式android:theme="@android:style/Theme.NoTitleBar" //不显示应用程序标题栏android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显示应用程序标题栏,并全屏原创 2013-07-26 16:35:14 · 4302 阅读 · 0 评论 -
Android 如何隐藏应用程序的图标
如果你的应用需要隐藏图标,那么这篇文章接下来的段落对你可能有所帮助。 在找到本文之前,你也许已经尝试过诸如以下的解决方案:1,AndroidManifest.xml文件中在入口Activity的intent-filter里去掉,或者将LAUNCHER改为DEFAULT2,在程序中加入下面的代码显示图片:PackageManager p = getPackageM原创 2013-07-23 10:49:17 · 59675 阅读 · 34 评论 -
Ubuntu 12.10 搭建 Eclipse Android 开发环境
参考资料:Ubuntu12.04下android开发环境的搭建ubuntu 11.04下android开发环境的搭建!ubuntu12.04 64bit安装eclipse+android SDK,主要碰到的问题ubuntu下配置jdk+eclipse+android sdkLinux Deepin11.12配置Android开发环境Ubuntu搭建Eclipse+JDK+S原创 2013-07-23 14:20:27 · 2634 阅读 · 1 评论 -
Android APK签名
发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在《APK Crack》一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名。而这个签名,一转载 2013-12-27 15:03:11 · 802 阅读 · 0 评论 -
Android 中Message,MessageQueue,Looper,Handler详解+实例
一、几个关键概念1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一个默认的Looper对象,而Looper对象的创建,将自原创 2014-03-13 12:58:11 · 843 阅读 · 0 评论 -
Checking API: checkapi-last (unknown): error
开发过成中修改了framewr原创 2014-07-15 10:11:39 · 1490 阅读 · 0 评论 -
Opengl Error!!!
GL_INVALID_ENUM, 0x0500Given when an enumeration parameter is not a legal enumeration for that function. This is given only for local problems; if the spec allows the enumeration in certain转载 2014-08-26 10:21:36 · 1237 阅读 · 0 评论 -
Android 异常解决方法汇总
(1)异常:Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。2、将引用的第三方包,添加进工作的build path。选中jar包->Build Path3、(关键的一步)将lib设为源文件夹。如果不设置,则程序编译可以通过,但运行的时候,会报:选中lib文件夹->so转载 2014-08-27 11:25:39 · 1826 阅读 · 0 评论 -
ubuntu下修改boot.img的方法
一下操作的前提是手机以获得root权限1、备份boot.img 首先 adb shell 进入手机终端,然后执行 cat /proc/mtd 命令,察看机器的分区情况。如下图:可以看到boot分区在mtd0上。备份boot分区:cat /dev/mtd/mtd0 >/sdcard/boot.img 将boo.img备份到了SD卡上。2、解压boot.img将b原创 2014-03-18 11:04:42 · 7159 阅读 · 0 评论 -
android源码使用proguard混淆编译及错误总结
关于混淆编译也主要是从网上学习的,决定对网上的进行总结,供大家一起学习,研究,东西主要都是网友们写的,我这里借鉴了,文章最后是网友的原文地址;1,什么是混淆编译ProGuard是一个免费的java类文件压缩,优化,混淆器.它探测并删除没有使用的类,字段,方法和属性.它删除没有用的说明并使用字节码得到最大优化.它使用无意义的名字来重命名类,字段和方法.ProGuard的使转载 2015-03-18 18:20:26 · 1110 阅读 · 0 评论 -
Android ListView 自定义背景后 滚动时的背景变黑问题
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919.我们看看API 文档是怎么说通过查找API 文档找到这个函数public void setCacheColorHint (i原创 2013-07-27 17:22:18 · 646 阅读 · 0 评论 -
Android应用开发中如何访问隐藏API(4.0以前版本)
最近在抽取Android原生Browser及MediaPlayer的时候,直接把代码copy出来,然后在Eclipse里编译发现很多错误,根本原因是这些Apps调用了很多系统隐藏(带@hide标记)public对象或public对象的隐藏API。使用Android隐藏的API主要有两种办法:1.利用Java反射机制,使用反射的方法得到隐藏API;2.使用源码编译时生成的全编译过的classes.j原创 2013-12-25 16:45:12 · 905 阅读 · 0 评论 -
andriod handle 的理解
* Handler的定义: * 主要接受子线程发送的数据, 并用此数据配合主线程更新UI。当应用程序启动时, * Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, * 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 * 如果此时需要一个耗时的操作,例如: 联网读取数原创 2013-03-11 15:05:10 · 703 阅读 · 0 评论 -
Android下调试.so库类的bug
在做dlna应用时遇到系统无法播放视频和音频文件,打印了一些debug信息,I/DEBUG ( 795): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***I/DEBUG ( 795): Build fingerprint: 'unknown'I/DEBUG ( 795): pid: 2830,原创 2013-12-04 16:29:22 · 3536 阅读 · 0 评论 -
android 通过Android.mk将三方的so库编译到apk里
在网上找了好多没有一个解决此问题的,有的都是jiang原创 2014-05-23 11:42:15 · 10836 阅读 · 8 评论 -
ubuntu下用fastboot命令将boot.img文件push到机器里
首先保证adb有root权限1、首先进入fastboot模式执行 adb reboot bootloader 重起至fastboot介面2、烧boot.img执行 fastboot flash boot boot.img 如果烧system.img执行 fastboot flash system system.img也可以擦出分区:如:fastboot eras原创 2014-03-18 13:37:20 · 5606 阅读 · 0 评论 -
adb shell下查看sqlite数据库
在android 开发工程中,有的ying y原创 2014-05-17 14:45:21 · 2084 阅读 · 0 评论 -
android 多媒体 notifyListener_l 函数分析
今天看了看多媒体的框架,原创 2014-04-25 15:03:52 · 3109 阅读 · 0 评论 -
android 4.2以上版本永不休眠
android4.2以上版本比android4.2以前的版本framework层原创 2014-04-11 16:13:06 · 4172 阅读 · 1 评论 -
Android 4.4永不锁屏 HOME键不响应
andoird 4.4的代码于以前的有了很大的改变,导致一些以前原创 2014-05-17 16:39:14 · 6492 阅读 · 2 评论 -
Android4.1强制横竖屏
由于做的是车机,所以有些应用是竖屏时要强制转换一下,以下是强制转换横竖屏的方法:方法一:android4.0/frameworks/base/services/java/com/android/server/wm/WindowManagerService.java int computeForcedAppOrientationLocked() { int req原创 2013-08-08 20:20:07 · 1461 阅读 · 1 评论 -
android updater-script解析
从网上查到了一个英文文档:http://www.freeyourandroid.com/guide/introdution_to_edify结合自己的测试,在此记录下脚本执行函数的大概使用方法。1 ,我自己的updater-script脚本,格式化kernel fs userdata分区format("yaffs2","MTD", "kernel");package_extra原创 2013-05-14 10:57:11 · 686 阅读 · 0 评论 -
如何在Android中取得当前进程名
在Android中,我们可以通过Process.myPid()和 RunningAppProcessInfo来取得当前的进程名。示例1String getCurProcessName(Context context) {int pid = android.os.Process.myPid();ActivityManager mActivityManager = (Activit原创 2013-05-14 10:58:57 · 1189 阅读 · 0 评论 -
Android进程间通信(IPC)机制Binder简要介绍和学习计划
在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。 我们知道,Android系统是基于Linux内核的,而Lin转载 2012-07-09 11:39:36 · 398 阅读 · 0 评论 -
Android x86 开机默认高分
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->在isolinux.cfg文件里设置iso的开机默认启动项,在想要默认启动的启动项加上menudefault即可如:labellivehmenulabel Live CD - ^Run Android-x86 without installati原创 2012-07-20 14:32:56 · 1273 阅读 · 0 评论