随笔分类 - Android
摘要:发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在《APK Crack》一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名。而这个签名,一般情况无法再与APK原先的签名保持一致。(除非APK原作者的私钥泄漏,那已经是另一个层次的软件安全问题了。)简单地说,签名机制标明了APK的发行机构。因此,站在软件安全的角度,我们就可以通过比对APK的签名情
阅读全文
摘要:import sun.security.pkcs.PKCS7;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.security.GeneralSecurityException;import java.security.cert.X509Certificate;class SignApk { public static X509Certificate readSi...
阅读全文
摘要:关键字: work1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句2、如何输出源文件的标题和目前执行行的行数3、两个数相乘,小数点后位数没有限制,请写一个高精度算法4、写一个病毒5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?2008年腾讯招聘选择题(60)c/c++ os linux方面的基础知识c的Sizeof函数有好几个!程序填空(40)1.(20) 4空x5不使用额外空间,将A,B两链表的元素交叉归并2.(20) 4空x5MF
阅读全文
摘要:在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是”singleTask”这种方式了,官方文档称以这种 方式启动的Activity总是属于一个任务的根Activity。果真如此吗?本文将为你解开Activity的”singleTask”之谜。在解开这个谜之前,我们先来简单了解一下在Android应用程序中,任务(Task)是个什么样的概念。我们知道,Activity是Android 应用程序的基础组件之一,在应用程序运行时,每一个Activity代表一个用户操作。用户为了完成某个功能而执行的一系列操作就形成了一个 Activity序列,这个序列在Andr
阅读全文
摘要:怎么升级SDK和ADT会遇到这么多的问题,续jar包出现问题后,又到混淆出现问题了.以下是在网络上找到的解决办法,经验证有效。 编译与反编译,一对相辅相成的矛盾。反编译有时候会和不光彩的事情联系在一起,以致于编译者常常费劲心思,加大反编译的难度,比如采用混淆代码等方式。ProGuard正是这么一个工具:The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semanticall...
阅读全文
摘要:以下方法来自网络-验证有效:项目开发,在编译工程的过程中发现了Unable to execute dex: Java heap space 这个问题,最后导致工程编译不通过: 解决方案: 1. eclipse.int 添加内存 2. 导入工程的jar通过 add User Library方式导入 右键工程->build path->add Library->user Library->user Libraries->new->随便取个名字->add JARs->ok 添加过程中记得将 user systemLibrary选中
阅读全文
摘要:最近和朋友开发一款在Android平台上的声纹识别应用程序,前期到完成整整花费了几个月时间,名称定义为:SuperLock 中文名称为:声纹锁。 博客园的朋友们,可以通过:http://code.google.com/p/voiceprint-model-builder-for-superlock/downloads/list下载。 下面让我简单介绍一下开始计划: 问题的提出主要从Android现在作为主流手机操作系统,锁屏和开屏应用上还是传统的密码、焦点激活、手摇,还有最近4.0才推出的人脸识别。而除了moto推出的真正指纹识别外(具备指纹取模器),市场上的指纹识别都是扯谈...
阅读全文
摘要:【软件介绍】产品名称:SuperLock 2.3 Beta应用简介:SuperLock 是一款Android平台下的锁屏和安全保护程序,启动程序服务后可在开机、关屏和受保护的程序启动时开启保护功能。通过密码、手摇、声纹等方式进行解锁,可操作和可玩性极高。要启动所有服务必需先设置密码,以保证程序的安全性。适用于Android 1.6以上版本。软件功能 :·锁屏·软件保护·可通过建立自己的声纹模型,进行声纹识别解锁·手摇解锁·密码解锁·模型测试·支持在线声纹模型建立·支持配置文件和声纹模型备份,不怕数据被删除操作方式
阅读全文
摘要:(转)http://blog.csdn.net/fontlose/article/details/6686161 assets目录底下的文件会被打包到一个apk文件里,这些资源在安装时他们并没被解压,使用时是直接从apk中读取的。这里介绍下怎么在jni内使用ndk自带api的接口函数读取assets资源文件,和libzip库函数的使用,可以用来读创建修改压缩文档,这里也是以读取apk安装包内的资源文件为例。 1 用ndk自带的接口函数读apk包,从2.3开始提供这些接口函数,具体看头文件assert.h android/asset_manager.h android/asset_manage.
阅读全文
摘要:要在其他平台实现自定义字体可谓是相当的麻烦,但是在Android平台就很简单了。首先将自定义字体放到“assets”下面被实例化之后再使用,字体文件如下图所示。在程序中通过如下方式实例化自定义字体:Typeface.createFromAsset(getContext().getAssets(),"fonts/samplefont.ttf");下面是Android默认字体和自定义字体的绘制效果:源代码如下:package com.yarin.Android.Typefaces; import Android.app.Activity; import Andr...
阅读全文
摘要:为Android内核添加新驱动,并提供menuconfig选项为Android的Linux内核2.6.25添加驱动。1. 在drives目录下添加hello目录,内含hello.c Kconfig Makefilehello.c内容:#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT"Hello, world\n"); return
阅读全文
摘要:Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用.使用logcat命令你可以用logcat命令来查看系统日志缓冲区的内容:[adb] logcat [<option>] ... [<filter-spec>] ...请查看Listing oflogcatCommand Options,它对logcat命令有详细的描述 .你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。$ adb logcat你也这
阅读全文
摘要:Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放在 /system/app中,所以最终导致了用户可装在Android手机中的软件会变少,占用系统空
阅读全文
摘要:如果是电话 监听则在.service关闭时调用public void onDestroy() { telephonyManager.listen(phoneCallListener,PhoneStateListener.LISTEN_NONE); super.onDestroy(); }PhoneStateListener.LISTEN_NONE 这个.如果是短信监听.使用动态注册.service创建的时候private SMSReceiver smsr;public void onCreate() { IntentFilter filter = new IntentFilter("
阅读全文
摘要:比如Android自带的浏览器在载入网页时等待时间可能会在标题栏的右上角有一个小圆圈在不断旋转,由于其不包含具体进度,很多网友可能没有找到详细的操作方法在SDK中。作为标题栏进度指示器其实属于Activity类的方法。在使用时我们首先需要在setContentView之前声明 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); ,在需要显示进度时调用 setProgressBarIndeterminateVisibility(true);即可,停止时调用 setProgressBarIndeterminateVisibili
阅读全文
摘要:oming from a Windows and .NET background, I had some trouble understanding how to interact with the ListView control and context menu creation in Android. Context menus are supposed to be shown on your mobile device when you touch/click the screen and hold on for a longer time. So here is how to det
阅读全文
摘要:一直以为onCreateOptionsMenu(Menu menu)只会调用一次但因为项目中要用到国际化,所以会在应用运行中将其挂到后台然后切换语言,发现如果这个时候切换语言的话,onCreateOptionsMenu(Menu menu)会再次被调用。即将应用挂到后台1) 不切换语言,点击MENU,onCreateOptionsMenu(Menu menu)不调用2) 切换语言,点击MENU ,onCreateOptionsMenu(Menu menu)会调用不过这只是我写的DEMO中是这样,而我们项目就不是,不知道是不是项目中把事件给截取了???继续研究。。。原因:android在选择不同
阅读全文
摘要:分析了NotesList这个Activity,并着重剖析了其中的intent机制,本文将继续上篇未完的工作,以NotesList为实例介绍Android的菜单机制(尤其是动态菜单机制)。简介android提供了三种菜单类型,分别为options menu,context menu,sub menu。options menu就是通过按home键来显示,context menu需要在view上按上2s后显示。这两种menu都有可以加入子菜单,子菜单不能种不能嵌套子菜单。options menu最多只能在屏幕最下面显示6个菜单选项,称为icon menu,icon menu不能有checkable选
阅读全文
摘要:在上一篇随笔中,我介绍了如何在程序中查询sdcard内的多媒体文件,并且显示到播放列表中,但是,如果在sdcard内删除、增加一些多媒体文件,如何让播放列表也更新呢,这里我分享一下自己在项目中的一些解决方法,希望对大家有所帮助。 首先,我简单介绍一下android是如何扫描sdcard内的多媒体信息的,详细请阅读stay的博文:http://www.cnblogs.com/stay/articles/1957571.html 当android的系统启动的时候,系统会自动扫描sdcard内的多媒体文件,并把获得的信息保存在一个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是.
阅读全文
摘要:1.制作4个9patch的tab样式,可参考android默认的资源tab_unselected.9.png tab_selected.9.png tab_press.9.png tab_focus.9.png这4个资源分别代表Tab的4种状态。2.定义Tab的selector样式(就叫它tab_indicator.xml好了),将其放入drawable文件夹下,代码如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <selector xmlns:android="http://sc
阅读全文