如何用 java 做出 安卓手机 的 相册? (像‘人人网 安卓’一样的)

小站会根据您的关注,为您发现更多,
看到喜欢的小站就马上关注吧!
下一站,你会遇见谁的梦想?
关注安卓新闻,体验新奇好玩软件,下载最潮流的壁纸,尽在安卓世界
手机操作系统大战 Android后来居上
& & & 作为目前平板电脑和智能手机上最流行的两款操作系统,Google的Android和苹果的iOS从未停止过彼此追赶的脚步。日,苹果公司发布最新的iOS 5系统,而仅在一周过后的10月19日,Android 4.0 Ice Cream Sandwich也随之发布,看来Android 4.0与iOS 5的竞争将会愈演愈烈。
& & & 从目前看Android从市场份额上领先,但由于Android的碎片化,关于Android 4.0 Ice Cream Sandwich能否取代iOS 5老大位置,仍未为可知。
Android增长速度放缓 前景让人堪忧
Google公司的Android平台一直在美国智能手机市场占有很大的份额。根据最新的IDC调查评估,目前它的市场份额已经达到59%,而苹果的iOS份额仅介于23%左右。不过有迹象表明,Android的增长速度在美国市场受到了重创。在过去的两年里,黑莓、Windows Phone、iPhone和Android四个平台的增长情况各不相同,而Asymco公司的Horace Dediu把相关的数据制成了信息图。比起市场份额这个整天挂在嘴边的数据,增长速度似乎更加容易吸引到别人的关注。从图中右侧可以看出,Android用户的增长速度第一次连续四个月下滑。
&尽管现在已经有很多家电信运营商出售iPhone,但是过去的四个月里又添加了几家。有一点值得肯定的是,增加出售iPhone运营商的数量有利于把打算购买Android设备的人变为果粉。像AT&T和Verizon这类的电信营业商既卖iPhone,也卖Android手机。在可以选择的情况下,更多人会购买iPhone。这也是说Android手机在运营商处受到了&抵制&,这无疑是影响到销售和用户增长速度。另一个也许能解释Android增长速度下滑的原因是其旗舰设备迟迟没有推向市场。虽然HTC已经发布了很多款型号,但是它的影响力还没有旗舰机那么大。事实上,智能手机市场远远没有达到饱和程度,它们占所有手机的份额连50%都没到。这也就是说,还有一半的人会打算购买智能手机,整个市场的潜力是巨大的。Android和iOS更应该去开拓这个空白的领域来提高自家平台的增长速度,这比相互蚕食对方的用户来得更加有效。增长速度的确是考察Android平台发展的一个重要指标,我们应该密切关注。虽然它现在面对这有史以来最严重的增长速度下滑,但是把这种情况看成是长期的趋势还言之过早。Android设备数量对于Google的广告业务影响巨大,相信Android增长速度的下滑已经引起了Google和众多合作厂商的关注。未来他们会有什么对策?我们拭目以待。
TP-LINK首款智能手机T882上市:仅售1250元
6月5日晚间消息,TP-LINK首款智能手机T882今天正式上市,售价仅1250元,用户可通过TP-LINK官方商城或TP-LINK淘宝专卖店进行购买。TP-LINK 智能手机 T882&& 4.0英寸WVGA分辨率, AFFS全视角显示屏& 800万像素摄像头,支持720P高清摄录& 1.4GHz高速处理器,多任务处理更流畅& 3G+WLAN高速互联& 最新Android 4.0智能操作系统,支持系统自动升级
360推两款999元特供机 7月接受预订
360特供机官方微博表示,特供机将于7月接受预定,9月能够上市。你的梦想学生机,360为你实现!综合考虑95万网友提交的梦想配置,360已联系手机厂商推出两款999元学生机,7月接受预订,9月开学前确保新款高配置手机送到您手中。【999元学生机7月预订】有A、B两款手机配置,您更中意哪个?
【资讯】不用排队了 小米手机6月7日全面开放购买
昨天小米副总裁黎万强在微博上发言称6月7日小米网将会有重大活动,一时间众说纷纭,米粉们纷纷猜测小米最近会有什么大的动作。到了晚间,黎万强再次在微博上发言公布了最终答案&&小米手机将在6月7日起开放7&24小时全面购买,可选标准版与电信版,无需再排队就能购买到小米手机。根据小米官方微博发布的信息来看,小米手机本次活动的内容非常给力,拉卡拉VIP用户购买小米手机时加1元就能够获得手机刷卡器一个,YY语音用户则是加1元就能够获得YY半年年费。另外小米本次还将会对手机售后服务进行升级,相信能够在一定程度上解决此前售后服务中存在的一些问题。
Android手机刷机失败无法开机及进入Recovery模式急救手册
来源: Android中文圈
责任编辑:机锋网
HTC Dream G1
  今天在使用ROM Manager在G1上刷CyanogenMod-6.0.0 RC1 ROM时因为FRF91 Google Addon程序包安装后一直有问题所以重复刷了很多次。其中扣了很多次电池可能导致ClockworkMod Recovery被损坏,之后无论怎么按POWER+HOME键都无法进入recovery模式,但是开机还是可以正常进入系统。于是使用ROM Manager重新下载安装ClockworkMod Recovery,不料过程中悲剧发生机器死机,recovery没有安装成功。在开机连系统也无法进入,一直停留在启动画面,也就是碰上传说中brick变砖了,虽说在Android上刷机也快两年了这种问题还是头一次碰到,不免有些担心。
  索性CyanogenMod和xda论坛里已经有牛人给我指明了方向,按照步骤操作很方便就可以恢复recovery重新复活Android手机,把过程写下来或许可以帮助碰到同样问题的人。如果你只是无法进入recovery模式手机没有完全变砖头也可以按照这个操作恢复。  1.下载需要的recovery img文件  既然是recovery程序损坏了,重新安装就是了,G1用户可以到这里下载最新版的recovery-RA-dream-v1.7.0.img recovery备用。  2.在电脑上安装Android SDK并配置环境变量  因为手机无法开机只能在电脑上操作了,安装Android SDK是必须的,因为等会要使用SDK的adb工具在手机上执行命令。如果安装SDK工具应该是Android  粉丝的必备技能,如果之前电脑上没有安装可以参照这篇文章安装配置 :/index.php/Install_the_Latest_Android_sdk  3.用USB线连接手机到电脑安装usb驱动程序  虽然无法进入系统,但是手机用usb连接电脑后还是可以识别,选择android sdk下面的usb驱动程序安装,每个版本sdk对应的目录也不相同,我的是  C:\android-sdk-windows\usb_driver。驱动程序安装后进入最后一步(注意这里不要让windows系统自动安装驱动程序,而是要自己选择目录安装)  4.使用fastboot重新安装recovery程序  打开windows命令提示符工具,执行#adb devices确认你的手机已经正常连接,把之前下载的recovery程序放在目录下备用,比如我是放在c:\recovery-RA-dream-v1.7.0.img,然后在命令提示符切换到recovery程序所在目录  执行 #adb reboot bootloader 回车,手机会进入fastboot模式  执行 #fastboot flash recovery recovery-RA-dream-v1.7.0.img ,会把本地的recovery程序拷贝到手机并安装  fastboot flash recovery recovery-RA-dream-v1.7.0.img  sending &recovery& (4594 KB)& OKAY  writing &recovery&& OKAY  看到上面的提示就大功告成了,再试试按住Power+Home键(不同手机又区别)看看已经可以进入recovery模式了,还原之前备份的内容或者重新安装新的ROM,变砖的Android手机就这样复活了。
Android手机自制ROM与原厂ROM对比刷机指南
来源: 网络&[ 责任编辑:机锋网 ]
有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生。我介绍root权限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的ROM还有不少,比如Drizzy's Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,这些ROM都是怎么做的。考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。  对于第三方ROM来讲,通常都包括两部分,一个recovery image,一个update.zip。而大多数的第三方ROM的特色,就是加入了很多东西,比如superuser程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在update.zip里面搞的,custom recovery image的主要作用就是引导用户的操作,比如让你先备份,再应用update.zip,再重启之类的操作。由于custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一个custom recovery image,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recovery image的简单讲解,所以这里,我主要介绍一下update.zip的制作。  如果我们直接把MoDaCo ROM中的update.zip解包,我们会发现有一个boot.img,一个data文件夹,一个system文件夹,一个META-INF文件夹。这个data文件夹放的是init.rc,而本来在系统中,init.rc就是在data目录下的。当然,两者的作用不一样,这里的init.rc主要作用是开机执行你希望执行的命令,比如MoDaCo的init.rc就是install busybox。  而值得详细说明的,就是system文件夹。MoDaCo ROM版本的system下有一系列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和xbin下,依此类推。换句话说,system或者data这个目录层次结构是取决于你自己的,你希望放的东西属于什么,应该运行在online系统的什么目录下,update.zip里面就应该是有相应的目录路径,然后东西就放在里面。  具体点,我们现在要依样画葫芦,搞一个新的update.zip,那么第一步就是首先建立一个文件夹  mkdir new-update  好,假设我新update.zip的作用就是预装我自己的一个程序,my.apk,那么,我建立对应的子目录  mkdir -p new-update/system/app  cp my.apk !$  这样,system目录就完成了。但是这时,update.zip的目录层次还没完,我们看MoDaCo ROM中的update.zip中有文件夹叫META-INF,这个文件夹很关键,除了根目录下的三个文件外,里面层层目录,就包括了一个文件,叫update-script,内容如下  show_progress 0.1 0  copy_dir PACKAGE:system SYSTEM:  set_perm_recursive 0 0
SYSTEM:xbin  set_perm_recursive 0 0
SYSTEM:sd  set_perm 0 0 04755 SYSTEM:bin/su  set_perm 0 0 04755 SYSTEM:bin/a2sd  set_perm 0 0 04755 SYSTEM:xbin/busybox  copy_dir PACKAGE:data DATA:  show_progress 0.2 0  format BOOT:  write_raw_image PACKAGE:boot.img BOOT:  show_progress 0.2 10  这里面的内容,大部分是针对你要做的修改设置的。比如  copy_dir PACKAGE:system SYSTEM:  就是把system中新增的工具拷贝到手机上,然后  set_perm_recursive 0 0
SYSTEM:xbin  set_perm_recursive 0 0
SYSTEM:sd  set_perm 0 0 04755 SYSTEM:bin/su  set_perm 0 0 04755 SYSTEM:bin/a2sd  set_perm 0 0 04755 SYSTEM:xbin/busybox  就是设置MoDaCo ROM中新增程序的权限,然后  copy_dir PACKAGE:data DATA:  把data下的内容(就是那个init.rc)复制到手机上,然后  format BOOT:  write_raw_image PACKAGE:boot.img BOOT:  刷boot分区。  那我们这里没有这么多新增的东西,应该怎么写呢?  copy_dir PACKAGE:system SYSTEM:  set_perm_recursive 0 0 04755 SYSTEM:app/my.apk  就可以了。你当然还可以做一些别的事情,比如加一个FORMAT DATA之类的^_^开个玩笑,千万别这个干,不然你的数据就全没了。  好,那么也就是说,我们要在自己的new-update目录下也建一个/META-INF/com/google/目录,然后把新的update-script扔进去。  完了么?差一点。其实如果你没有别的需求了,那么就完了,可以把下面这一小块跳过。下面这一小块,是关于boot.img的。在如何修改Android系统的Ramdisk以及boot镜像文章中,我们谈到,如果刷boot镜像有问题,就要用别的方法让系统boot我们自己的boot image了,这个别的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一个boot.img,但是如果我们有出于各种需求自己修改的boot.img,自然就可以替换掉原来的了。当然注意,如果加了boot.img,那么update-script里面就不能漏掉  write_raw_image PACKAGE:boot.img BOOT:  这句。  好,到现在,我们的new-update目录下有  /system/app/my.apk  /META-INF/com/google/update-script  /META-INF/MANIFEST.MF  /META-INF/CERT.SF  /META-INF/CERT.RSA  boot.img  恩,那么就进入打包阶段。你可能会问,这有什么难的,直接zip一下不就得了。如果要是这么简单就好了,你打包后,必须把你的内容都sign一下,得到相应的cert,才能在fastboot模式中被承认并成功刷机。  在sign你的文件之前,先做这么几件事  打包。进入update文件夹,zip update.zip xxx xxxx xxxx xxxx xxxx。什么意思呢,就是只把你需要的文件打包,不要用./*作为参数。而且相对路径最好是在update下面,不要在外面用zip update.zip ./update/*这种命令打包  去sun网站下载最新的jre  下载这个文件testsign  一定要用JRE1.6.0.16或者更高,我知道这个有点恶心,但是提供下载的testsigh.jar就是按照这个版本或者更高编译的,你用老版本就运行不了。  好,下下来以后,执行这个命令  ~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip  稍微讲解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建议放到sdk的tool目录下。update是待sign文件,update-signed是指定的生成文件名。  sign执行完后,用unzip -l看,会发现  /META-INF/MANIFEST.MF  /META-INF/CERT.SF  /META-INF/CERT.RSA  三个文件的日期属性变了。我怀疑就是重新生成了这三个文件。但如果之前打包时候不包括这三个文件,sign完又不会新生成。因为不管大局,所以我就没有仔细研究,有清楚的朋友恳请赐教。  好了,现在,把你自己的update.zip放到sd卡上,在fastboot下通过recovery image引导,执行update.zip,然后就享受你自己的修改成果吧:)  最后提醒一句,任何类似的操作之前,都把自己的手机做好备份。此方法仅供参考,我不对任何因此造成的破坏负责,嘿嘿。
Android APP:Fancy Widgets【很酷的桌面小部件】
& &衔接上帖,大家看到我桌面上的这款widgets了么 是不是很酷!这款桌面小部件也是来自Apex的团队。还是简单介绍下:它是一款高度自定义,华丽丽的左面小部件。用户可以自定义桌面时钟、天气及其他的一些设置。截图:
--------------------------------
如果提示和你的设备不兼容,请移步这里
玩转 Android 手机常见问答-什么是APK
作者:机锋实验室
来源: 机锋网
什么是APK?  APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或  Android手机中执行即可安装。  扩展阅读:APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。    APK 文件的结构是什么?  一个APK文件结构为:  META-INF\ Jar文件中常可以看到  res\ 存放资源文件的目录  AndroidManifest.xml 程序全局配置文件  classes.dex Dalvik字节码  resources.arsc 编译后的二进制资源文件  总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。  在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。  META-INF目录  META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个api包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。而在OPhone平台上安装apk包时,应用管理器会按照同样的算法对包里的文件做校验,如果校验结果与META-INF下的内容不一致,系统就不会安装这个apk。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk 包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系 统的安全。  classes.dex文件  classes.dex是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。  Android模拟器中提供了一个dex文件的反编译工具,dexdump。用法为首先启动Android模拟器,把要查看的dex文件用 adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex。
Android Vs iOS,苹果与Google系统的真相
手机上的系统中,iOS 5 与Android 4.0各自都有哪些特色和强处?本视频中进行了相关的使用评测
1.5GHz四核 白色LG Optimus 4X HD图赏
&&&&& 相比之前推出的黑色版本,白色版LG Optimus 4X HD则更加显得时尚靓丽,而在靓丽的外表之下,这款手机拥有着十分强劲的内置配置,它搭载了一枚英伟达Tegra 3四核处理器,主频为1.5GHz,同时还配备了1GB RAM,并采用了最新的Android 4.0操作系统。&
靓丽,而在靓丽的外表之下,这款手机拥有着十分强劲的内置配置,它搭载了一枚英伟达Tegra 3四核处理器,主频为1.5GHz,同时还配备了1GB RAM,并采用了最新的Android 4.0操作系统。
LG Optimus 4X HD的出色跑分
从国外媒体带来的测试数据中可以看到,强劲的配置令LG Optimus 4X HD在基准跑分测试汇总取得了出色的成绩。另外,值得一提的是,这款手机配备了一块4.7英寸的720p高清触摸屏,靓丽的白色或许是众多女性用户的首选,不过4.7英寸的大屏还是会将手小的拒之门外。
的衬托下位于中间的LG的标志则更为显眼。这款手机的摄像头像素为800万,同时还配备了一枚LED补光灯,相信这样的配置将为用户带来不错的拍照体验。
白色版LG Optimus 4X HD
800万像素摄像头特写
另外,LG Optimus 4X HD还配备了一块可拆卸的2050mAh的大容量电池,相比四核处理器以及4.7英寸大屏这样的配置,2050mAh的电池容量还是略显不足。
白色版LG Optimus 4X HD
LG Optimus 4X HD的电池
[UNIONTEC X 新闻]iPhone和安卓语音输入功能大比拼
& 这第一段文字我是在一部iPhone上写的,但我没有在手机的虚拟键盘上打字。我是使用iPhone上一个鲜为人知的功能进行听写输入的。该功能可以让你在手机上任何可以写入文本的地方用语音代替手指输入。
现在开始写第二段,我改用安卓(Android)手机了。我还是只靠语音把这些词组合在一起,而不是在虚拟键盘上打字。
以上这两段文字是作为电子邮件听写输入的,然后我在电脑上通过剪切和粘贴将它们插入这篇专栏文章。鉴于数码设备语音输入功能给人的印象是准确性很差,我可以告诉你,我听写输入的内容所须纠正的错误可能比你想象的要少得多。在第一段中,我只须添加一个我忘记明确说明的逗号,而在第二段中,我只用把&安卓&一词首字母改为大写就可以了。
对我这个每天都会使用虚拟键盘的人来说,听写输入比打字速度更快、更准确,即使在输入一般在手机上编写的小段文本时也是一样。
苹果系统能够更好地处理专有名词的大写问题。那么,在智能手机上进行听写输入对其他人来说是不是也同样有用呢?为此,上周我进行了大量测试。我使用了一部装有谷歌(Google)安卓软件的顶级手机──三星(Samsung) Galaxy Nexus和一部苹果(Apple) iPhone 4S。总体而言,我发现听写输入虽然偶尔会很失败,但它在多种不同的环境及应用程序中都有令人惊喜的表现。
我发现,在这两种主要的智能手机平台上,比较短的听写输入──比如电子邮件、文本、推文、Facebook帖子和记事笔记──准确性至少可以说是不亚于虚拟键盘输入,而且通常还会更准确一些。听写输入在安静的环境中效果会更好,但即使是在杂货店、咖啡馆和洗车行这种最喧闹的地方效果也还算可以。听写输入的速度也更快,只要你不需要纠正大量错误,说话一般会比在显示屏上打字快。
在这次测评中,我主要不是谈Siri。Siri是新版iPhone的语音控制功能,可以告诉你天气或股价等信息。我谈的也不是安卓的语音命令功能&voice actions&,该功能可以执行网页搜索和其他任务。以上两种功能也都能够帮助用户进行一些文本听写。但我测评的主要是两个平台上一种简单得多的功能:是手机虚拟键盘上一个小小的麦克风键。
安卓手机设置这个麦克风键已有几年了,苹果则是去年秋季刚在最新版iPhone 4S中加入这个按键的,上个月推出的新版iPad也设有这个按键。但我估计很多用户可能没用过这个特殊的按键,甚至根本就没有注意过。
这两个应用平台上的麦克风按键用起来有一点区别,但基本相似。当屏幕上出现虚拟键盘可供你打字时,你也可以按下麦克风按键,把想说的话听写出来即可。手机随即会把你说的话发送给一个远程服务器,服务器迅速将它们转换成文本,并将其发送回来,显示在手机的屏幕上。如果有一些错误需要纠正,你可以通过打字来纠错,不过这两种平台都可以提示可能性最大的错误并提出替代方案,让纠错变得更简单。
下面有几点需要提醒读者注意。我没有对听写输入和在配有实体键盘的手机上打字进行比较(使用实体键盘打字通常既快又准确)。我认为合适的比较方式是将其与虚拟键盘对比,虚拟键盘正成为手机的标准配置,但许多用户仍然觉得用起来很不爽。
我也没有尝试听写像本篇专栏这样的长文档,因为手机很少用来编写长文。
我发现这两个平台的听写系统效果都很不错,值得推荐。在一次次的测试中,两种手机都能正确地显示出语音输入内容,或者几乎不用怎么纠错。
但两者也有一些区别。安卓有一个优势,那就是最新版安卓操作系统会几乎实时显示听写的文本,只比你说话稍稍滞后一些。而iPhone系统在你按下&完成&按键后只会显示正在处理你的听写内容。
安卓听写系统支持的语言也比苹果多得多──有包括西班牙语、汉语、阿拉伯语和希伯来语在内的40种语言和方言。而iPhone目前只支持英语、法语和德语,不过苹果称,今年晚些时候将添加汉语、韩语、意大利语和西班牙语。
不过,安卓更可靠一些但我发现iPhone 4S在比较吵闹的环境中效果比Galaxy Nexus好。比方说,在购物中心熙熙攘攘的美食广场上,这两种手机表现都算不上完美。我的原话是:&I am dictating this email from the very noisy food Court at Montgomery Mall on the iPhone.&(我正在蒙哥马利购物城很吵的美食广场上用iPhone口授这封电子邮件。)iPhone理解了我说的话:&I am dictating this email from the very noisy Court at Montgomery Mall on the iPhone.&──只漏了&food&(美食)这个词,并将&Court&(广场)首字母大写了。安卓手机则显示出一个非常相似但错误百出的句子:&I am dictating this email on droid phone from the bearing noise for it montgomery mall.&
谷歌指出,与苹果不同的是,安卓系统支持许多手机,如果使用另一种降噪效果更好的机型,测试结果会有所改善。苹果称,iPhone 4S的确有降噪功能。在比较安静的环境下,这两种手机在所有测试中的表现都是不相上下。
苹果系统能够更好地处理专有名词的大写问题,比如Stradivarius(时尚品牌斯特拉迪瓦里)、Red Sox(波士顿红袜队),甚至是Google(谷歌)。让人哭笑不得的是,我的安卓手机总是把Google首字母小写。但谷歌称,公司将在几周之内升级听写功能,以更好地处理专有名词。
另一方面,我发现安卓在出错时,有一套比iPhone更全面、更容易使用的纠错方式。安卓也更可靠一些,有时候在听写完成后iPhone根本不显示任何文本。
不过,我认为与这两个平台出色的性能相比,这些差别都不是那么重要。无论是iPhone还是安卓,如果你说&句号&或&逗号&等单词,一般都会显示为标点符号(但当你其实是想把&句号&这样的词作为词语输入时,这两个平台都会试图予以区分。)
在一次接一次的测试中,iPhone和安卓都有出色表现。一般来说,错误会比我快速打字时要少。
但这两种平台都有一个缺点:它们是在服务器上进行转换的,而且两家公司都急于改进系统,所以会保存你说的一些信息。两家公司都表示它们尊重你的隐私,但如果你担心把自己的信息或记录泄露给苹果或谷歌,就不要使用听写输入。
除此之外,这两个平台的其他方面都很不错,如果你觉得用虚拟键盘打字很麻烦,不妨将安卓和新版iPhone的麦克风按键添加到你的手机使用方略中
[图]Galaxy S III再曝照:虚拟键位置变化
继越南的所谓真机i9300曝光之后,日前又有一款声称是下一代Galaxy旗舰的真机曝光在台湾一个科技论坛里面。从外观来看,这张Galaxy&S&III工程样机照与之前越南网站上曝光的有些不同,仔细看倒是与之前巴西网站出现的那款比较相像,边框也较窄,且同样带有长长的Home实体键。&据了解,该机将会采用四列的图标布局。由于配备了特殊的物理按键,该手机系统中的虚拟按键与以往的Android 4.0界面的不太相同,返回键和多任务按键也都变换了位置。据此,对于将要与Galaxy S III一同到来的最新Touchwiz UI,我们也可以窥出一些小的细节。
文/驱动之家
2012第10周国内Android应用下载排行榜
2012年第10周国内Android应用下载应用榜共包含腾讯应用宝等八家第三方应用商店数据。
榜单总结:
1)三月天孩儿脸,摸不准的天气变化让天气类应用下载增加,黄历天气、墨迹天气等天气应用登上榜首;
2)腾讯的一系列产品,包括QQ通讯录、手机QQ、微信、QQ游戏大厅、QQ输入法等保持着不错的下载量,在榜单中名列前茅;
3)相比上周,游戏的比重略有下降,但仍为最大类别;
4)宅运动位居搜狐应用第一,宅主题抬头;
5)91助手、安智市场等商店数据暂缺。
【趣味】如果Twitter出现在80年代
Android操作系统安全
&Android在迅猛发展的同时,其安全问题一直没有引起足够的重视,但在2010年6月研究人员发布Android平台的KernelRootkit以来,Android平台的安全问题引来了越来越多的关注,而同时,Android平台的恶意软件也开始流行起来。[3]
&&&&&& 根据以上的Android系统架构分析,可以发现在三个层面可能存在恶意软件。分别是处于最高位置的应用层(Applications),函数库层(Libraries)之上,还有Android的Linux内核中。根据编程语言的不同,也可以叫做Java层,NativeC层,Linux Kernel层[4]。&Java层安全&
&&&&&& 毋庸置疑,Java层安全的恶意软件或安全软件,像普通的应用程序一样,使用Java语言开发,使用Google提供的AndroidSDK,
在恶意软件方面,无非是注册一些系统事件进行相应,比如收到短信,收到邮件等等,再就是在用户不知情的情况下侵犯手机安全,比如偷偷发短信,窃取用户位置信息,窃取用户通话等等。但是同其他Android应用程序的开发一样,这些恶意软件开发时,要为使用这些恶意功能申请权限(比如发短信权限android.permission.SEND_SMS,收短信权限android.permission.RECEIVE_SMS等等),用户在安装时对这些权限一目了然,很容易引起用户的怀疑。
&&&&&& 而Java层的安全软件功能更是匮乏,要知道,无论是哪一个平台的安全软件,要保证用户安全,起码要拥有对其他进程的绝对控制权限,比如结束进程,开启进程,获取进程行为等等。而Android SDK并没有提供这么强大的功能,到Android SDK 2.2版本时,通过SDK提供的API,甚至无法去强制结束一个第三方软件的进程。而目前的Java层面的安全软件,只是简单的对已安装的软件进行静态扫描,搜索有没有使用可疑的权限,或者是清理一些软件的自启动行为,主动防御、行为分析等概念在Java层上几乎不存在。总而言之Java层面的安全软件被完全束缚于SDK中,而Java语言不能直接访问内存,相对于自由的C语言来说,Java语言本身就不适合开发安全软件。Native C层安全
&&&&&& 虽然Android平台的软件要用Java开发,但是也并非全部如此。Android底层必定是一个Linux&[11],在Linux内核之上又有大量的标准C函数库,在理论上,是可以编译出可以直接依靠这些函数库运行的C语言程序的。事实上,在Android系统自身中已经存在很多这样的程序,在Android的超级终端中,我们可以像在Linux的超级终端中一样调用一些常用的命令,比如ls,ps,cd,free,等等,这样的命令在Android中有几十个。其实这些命令都存在于&/system/bin&或&/system/xbin&下,而且都是C语言编写的程序。
早在Android NDK发布以前,研究人员就已经可以利用Android的源码中的资源(.h文件等)和Linux下的编译工具(gcc,交叉编译器等)编译C语言程序,并且可以像执行这些命令一样执行这些程序,我们可以称之为Native C。
&&&&&& AndroidNDK的发布,使得Native C程序的开发更加方便。AndroidNDK于
2009年7月发布第一个版本(Release1),目前已经发布到第五个版本(Release5)。
Android NDK使得普通的应用程序(.apk)中可以使用库文件(.so),这些库文件用C语言编写,并且在Java语言的代码中,可以通过JNI调用C语言代码。在这些C语言代码中,可以调用一些运行时函数(printf,memcpy等等),以及一些Linux中存在的函数(ptrace,waite等等),甚至是一些Android的核心API。再加之C语言对内存有绝对的控制权限,使得一些安全技术可以在这里大展拳脚,尤其是HOOK技术,这对恶意软件还是安全软件来说,都是一件好事。Android NDK的发布不仅有利于安全编程,对于其他领域的软件,尤其是需要较高效率计算,不适宜在较高层的Java语言编写的软件,比如拥有自己核心的浏览器(火狐,Opera等)和大型游戏,NativeC都给他们带来的好消息。
&&&&&& 在2011年三月,一个叫LBE的团队发布了一款基于主动防御的隐私安全软件,LBE隐私卫士。这是第一款正式发布的Android平台的主动防御安全软件。LBE小组曾经将Android的移植到魅族M8(原来运行Mymobile)上,其核心成员常年致力于ARM平台Linux的研究,有很扎实的Linux功底。这款LBE隐私卫士就是用Android NDK开发的,其中用到了APIHOOK技术。
&&&&&& 关于HOOK技术:HOOK技术无论对于安全软件还是恶意软件都是十分关键的一项技术,其本质就是劫持函数调用(在Windows中,HOOK也可以理解为窗口消息劫持),不管是Windows 还是Linux平添,HOOK在安全软件中的应用都十分广泛。
&&&&&& NativeC层面的程序虽然是C语言,但是依然处于Android用户态,即Linux的用户态。因此NativeC层上只能对某一进程(当然也可以是所有进程)进行API HOOK。不管是Windows还是Linux,其用户态的每个进程都拥有独立的进程空间,要对其进行API HOOK必须进入其进程空间才能修改这个进程的代码,即必须有能力修改目标进程的内存。对于这一方面Windows和Linux采用了不同的方法。Windows没有API可以修改某一进程的内存,因此一般采用Dll注入(或称远程线程注入)的方法。而Linux则常用ptrace与plt实现API HOOK。
在Windows中,APIHOOK的一般流程为:
①&&& OpenProcess,打开目标进程。
②&&& 获取LoadLibrary的函数地址,该函数地址一般在每个进程空间内都是相同的。
③&&& VirtualAllocEx,在打开的进程中申请内存。
④&&& WriteProcessMemory,在申请的内存中写入要注入的Dll路径字符串(此处也可以直接写入需要的代码,然后CreateRemoteThread执行来进行HOOK,此方法更加隐蔽,但更加复杂困难)。
⑤&&& CreateRemoteThread,启动远程线程,入口地址为LoadLibrary的函数地址,参数为要注入的Dll路径字符串(也就是远程申请的内存地址)。
⑥&&& 注入的Dll中代码会在自身被加载时开始运行。
⑦&&& 找到要HOOK的API所在的函数库基址。
⑧&&& 找到要HOOK的API再其函数库中的导出表所在位置。
⑨&&& 修改导出表,指向自己的函数入口地址。
⑩&&& 在自己的函数中调用原API。
&&&&&& 当然在注入成功后也可以直接修改API的开头几个字节,jmp到自己的函数,然后再jmp回去,这种方法称为InLineHOOK,InLine HOOK更不容易被检测到,但是稳定性,通用性都较差,而且操作更加复杂。
&&&&&& 在Linux中,APIHOOK进入目标进程空间时使用了Linux中的ptrace函数[9]。ptrace函数原本是用于调试程序用的,功能十分强大,不仅可以绑定某一进程(PTRACE_ATTACH),而且可以任意修改目标进程的内存空间(PTRACE_PEEKDATA,读内存。PTRACE_POKEDATA,写内存),甚至是寄存器(PTRACE_SETREGS,PTRACE_GETREGS)。其一般过程为:
①&&& PTRACE_ATTACH,绑定目标进程。
②&&& PTRACE_GETREGS,获取目标进程寄存器状态,并保存。
③&&& PTRACE_PEEKDATA与PTRACE_POKEDATA配合,保存原代码,写入要注入的代码到当前运行位置。
④&&& PTRACE_SETREGS,恢复寄存器状态,并继续执行,这是注入的代码开始在目标进程内执行,注入代码完成HOOK,过程与Windows下相似。
⑤&&& 在HOOK完成后,注入的代码执行int3被ptrace捕获,目标进程再次暂停执行。
⑥&&& PTRACE_GETREGS,再次保存寄存器。
⑦&&& PTRACE_PEEKDATA与PTRACE_POKEDATA配合还原代码。
⑧&&& PTRACE_SETREGS,恢复寄存器,目标进程继续执行。
⑨&&& PTRACE_DETACH,撤销绑定目标进程。
Linux下还可以LD_PRELOAD来注入代码[7]从而进行HOOK。
在前面提到的Native C级安全软件LBE隐私卫士出现后我对其实现方法进行了研究,发现了类似的方法。LBE隐私卫士中有两个用NativeC编写的函数库,分别为libloader.so和libservice.so。其中libloader.so负责将libservice.so注入到系统进程,libservice.so在注入后负责HOOK相关的API,从而实现对这些API的监控功能。在libloader.so的导出函数中可以看到以下三个函数:
其中inject_phonemgr,inject_server,inject_svcmgr三个函数分别负责将libservice.so注入到phonemgr,server,svcmgr三个系统进程中,在加载了LBE隐私卫士的Android手机中,在终端使用 cat /proc/&pid&/map(其中&pid&为三个系统进程的pid)可以在输出中看到,三个系统进程都加载了 libservice.so。这一点证实了我的推断。
而在libservice.so的函数导出表中,又可以看到以下函数:
目前只能通过函数名大体推断这些函数的具体功能,可能是通过这几个函数hook监控网络,发短信,打电话,位置服务等等功能。
通过与LBE隐私卫士的开发团队的交流,我了解到在其使用的注入技术,ptrace似乎并不起主要作用,而由于商业机密等原因,其团队并不方便透露其具体实现细节,LBE团队毕竟是Linux方面的佼佼者,我刚刚接触Linux安全,ARM汇编代码逆向能力更是有限,目前依然不能完全了解LBE的实现细节,也只能在简单分析的基础上一些猜测。Linux Kernel 层安全
日,Spider Labs的安全专家在DefCon安全会议上发布了一个内核级别的Android Rootkit工具,这是Android推出以来公布的第一款Rootkit,这次演讲引起的巨大的影响,该Rootkit的源码也被收录在本次会议的CD中,此后到2011年初,Android市场上开始出现Rootkit级的恶意软件,而此时正式推出的安全软件才刚刚达到Native C的级别。其实AndroidRootkit的研究并不比Native C级别的难,SpiderLabs的安全专家曾经列出一个公式:Android == Linux == 20 year old Open Source OS。在Android的Linux内核层更是如此。大量的Linux内核安全专家,以及现有的Linux Rootkit的研究成果使AndroidRootkit的出现提前了很多。
要加载内核级Rootkit,首先要将代码放进Linux内核,在这个问题上,可以将代码编译为一个&可加载内核模块&(Loadable Kernel Module,LKM),Linux内核可以动态的加载这些LKM,它与整个Linux内核拥有同样多的权限,并通过触发器激发这些代码,只要这些代码运行起来,也就意味着有能力经劫持Linux内核,即劫持关键的Linux系统调用[10],例如进程操作,文件操作,网络操作等等,就可以任意对手机进行操作,完成任何功能,比如窃取短信,悄悄打电话,GPS定位,等等,所有这些行为都不会被用户察觉,这些Rootkit可以不被内核外的任何安全软件察觉,甚至不被内核级安全软件所擦察觉,对用户的隐私,甚至财产造成极大的威胁。
LKM加载进Linux内核后就要对系统调用进行HOOK,劫持这些调用,这这其中有以下几个难点:如何获得系统调用表(sys_call_table)的位置[5],如何在Android的源码下进行编译,如何调试这些代码。
Android采用Linux 2.6版本的内核,而2.5及更高版本的Linux内核已经不再导出sys_call_table了,这就意味着extern void *system_call_table[];并不能得到系统调用表。但是依然可以在System.map中找到sys_call_table,而且这个地址是静态的:[12]
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
图1.4 获取sys_call_table的地址
要调试Android下的Linux内核并不是一件简单的事情,为了得到sys_call_table每个具体函数名及函数地址,可以用sys_write,sys_read,sys_open,sys_close等函数输出。[12]
在这些工作完成后,就可以根据Android的源码以及这些分析结果,编写LKM,通过内核级HOOK劫持系统调用,内核级HOOK相对用户态APIHOOK更加简单,因为内核中并没有进程内存空间等概念,对所有内存有直接的访问权限,在内核级HOOK时依然可以通过修改sys_call_table或Inline HOOK两种方式,两种方式各有优缺点。
完成编写并编译后可以通过Linux下的命令工具集Busybox中的insmod来加载内核模块:
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
图1.5 加载LKM
该工具集中的lsmod可以列举出已经加载的内核模块,但是Rootkit中可以通过劫持相关系统调用,使自身不被lsmod列举出来,从而达到完全的隐身。[12]
&&&&&& 由于在root权限等方面所遇到的问题,目前Android Linux Kernel级的安全软件尚属空白。
【索尼移动通信公布Android 4.0升级计划】
Xperia系列将于4月中开始陆续升级4.0,Xperia arc S、Xperia neo V和Xperia ray将在第一轮率先获得升级。第二轮包括:Xperia arc、Xperia PLAY、Xperia neo、Xperia mini、Xperia mini pro、X...
魅族发布 MX/M9 的 Android 4.0 原生测试固件
正如之前承诺的那样,魅族这次发布了旗下两款机型的 Android 4.0 原生测试固件;MX 的硬件配置跑起来应该没有什么问题,而这次 M9 的 Android 4.0 原生固件已经解决内存较小问题,所以官方将两个 ROM 一并推出。
[引小众软件]教你用电脑从 Google Play 下载 Android 程序 apk 文件
&是一款帮助你用电脑从 Google Play (原 Android Market ) 下载 Android 应用程序 apk 文件的 Chrome 扩展。@Appinn
&同学在&&里推荐了一个用电脑从 Google Play 里下载 Android 程序的方法,可以直接下载到 apk 文件。Google Play 有着著名的另类制度,比如针对不同区域的付费软件政策导致&&,比如很多没有 root 的 Android 设备是无法浏览到全部应用程序的。但相比于更多混乱的第三方市场,Google Play 还是原生派们的首选。
想要从 Google Play 直接下载到 apk 文件,你需要
拥有一部支持 Google Play 的 Android 设备
拥有 Google 账户,并且此账户可以登陆 Google Play
使用 Chrome 17+ (这个,Chrome 的 dev 版本已经 19 了&)
安装 APK Downloader 扩展:&|&(使用步骤稍多,官方有原版教程)
update: APK Downloader 是违反 Google TOS 条款的,需要考虑一定风险,作者目的仅为方便下载 apk 文件,感谢&&提醒
第一步:禁止浏览器 SSL 错误警告Windows 下只需在桌面创建一个 Chrome 快捷方式,右键属性,在目标最后添加:--ignore-certificate-errors
添加后看起来像这样: &C:\&\chrome.exe&--ignore-certificate-errors
然后通过该快捷方式运行 Chrome,打开 APK Downloader 选项页面(管理扩展程序页面里),会看到如下变化:
OS X 及 Linux 下参考&
注意:禁止 SSL 警告也会同时禁止其他加密网站的警告,请单独为&APK Downloader&配置。
第二步:找到&Device ID
第一种方法:打开拨号界面,输入&*#*#8255#*#*,如果打开的是&GTalk Service Monitor&界面,滚屏大概五分之一的地方,就可以找到包括 JID 和 Device ID 在内的信息,这里我们只需要&Device ID,类似&android-abcdef,你的 Device ID 就是&abcdef
第二种方法:安装 Android 应用程序&Device ID&
第三步:登陆 APK Downloader再次打开 APK Downloader 选项页面,输入 Google Play 登陆邮箱及密码(使用 Google 账户二次验证的同学需要为 APK Downloader 单独创建一个应用程序密码),输入16位的&&Android Device ID,点击&Login。登陆成功会看到如下界面:
在 Sim Operator 选择你需要的运营商,点击&Save Settings&设置完成。手机里不需要安装 MarkerAccess 之类的程序,你懂的。
第四步:下载 APK 文件设置完成后,只需用第一步创建的 Chrome 快捷方式运行,在任意 Google Play 界面,都可以在地址栏看到如下标识:
运营商Sprint和Virgin发布两款最新LG入门手机
Sprint和Virgin今天共同发布了LG入门级Android手机Optimus Elite,代号分别为LS969和VM969,从照片来看,它们采用了常见的但是看上去比较紧凑设计的3.2寸屏幕,支持官方的 Google Wallet应用,配备NFC芯片。 两款设备都采用800MHz的处理核心和320x480分辨率,5百万后置摄像头,仍然运行Android 2.3系统。
Virgin版本的图片上展示了Google Play Store的图标。 & Sprint和往常一样将是第一个使用LG手机的运营商,也许在5月前就会上市。价格可能为100美元左右。摘自:cnbeta
站长在关注}

我要回帖

更多关于 人人网 安卓 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信