安卓安全

关键词: 话题 引言 移动 应用

安卓安全(精选十篇)

安卓安全 篇1

随着网络的进一步普及,我国的网民数量已经得到了很大的突破,移动互联网飞速增长,而随之而来的便是移动应用快速增长,移动应用安全已经成为目前安全界最热门的一个话题。云计算时代的到来,使得企业信息化这一话题又有了新的生命。在云端不断增强的服务性能之外最显著的特征就是在端的精彩表现。单纯用PC工作的时代将一去不复返。以手机、平板电脑介质为代表的移动终端应用将为社会信息化带来巨大变革。

随着3G手机、PAD等智能终端设备逐步代替现有的PC成为无线局域网的终端, 如何在移动终端上抢占市场已成为当下互联网公司和各企业最为关心的话题而相关平台上的展示就需要依靠移动应用来实现。各大职能手机终端都有承载移动终端的平台, 大致分为安卓、苹果、微软、塞班等几类,其中安卓和苹果占据了主要的市场份额,而安卓占的份额又远大于苹果。

时下的计算机病毒飞速发展,已逐步延伸到各大移动终端平台并表现出强大的破坏力。虽然各主流杀毒软件公司对塞班、微软、苹果、安卓等手机平台的病毒研究工作都在进行,也陆续推出了多款安全软件,但是这些安全措施总是会被找到弱点实现绕过,加之信息安全行业的从业人员越来越多,人们利用一些安全漏洞进行破坏的能力越来越强,总体上来看移动安全的形势依旧非常严峻。

本文以市场份额最大的安卓平台为切入点,针对安卓平台的安全测试主要内容进行介绍,从安卓平台自身的安全衍伸到平台上的应用所需要符合的安全测试范围,希望能够给广大开发人员介绍安卓平台应用面临的威胁,为广大安全测试人员带来更好的安卓平台安全测试思路,让更多的人能够知道如何去辨别自己的安卓终端安全性,为移动安全行业的发展贡献微薄之力。

2 安卓设备 root 的检测和绕过

对于很多应用程序来说, 检查当前设备是否已经root是很有必要的 , 需要root权限来安装的一些工具 ,往往会造成一些安全隐患。出于安全原因,很多应用程序(如一些手机银行)不允许在已经root的设备上运行,并会在已经root的设备上停止运行。

如果设备已经root, 在root过程中系统会增加一些新的文件,我们可以通过检测这些文件是否存在来判断,也可以通过测试人员查看能否执行一些只有root权限下才能运行的命令来判断,还有部分相对简单的方法:

(1) 最简单的 : 运行“su”和“id”, 然后查看uid来检查。已root设备的特征如下:

shell@android:/ $ su

root@android:/ # id

uid=0(root) gid=0(root)

(2)相关的root软件 ,比如admin.apk是一个被广泛使用的用来root安卓设备的软件, 所以可以检查这个app是否存在, 其他的应用也可以根据类似的原理进行检测。检测命令参考:

ls - l /system/app/ | grep ‘admin’

如上命令是依据关键字admin进行搜索,查找是否有相关应用。

(3) 还可以搜索一些特殊的package, 这些package是在root过程中生成的文件,若能检测到存在则可判断设备已被root。检测命令参考:

pm list packages | grep ‘keychain’

如上命令是依据关键字keychain进行搜索,查找是否有相关应用。

(4)部分应用程序设计成只能在root过的安卓设备上运行,所以检查相关文件是否存在也是一个很好的思路。比如用户群体较多的Busybox, 如果在设备上看到它就可以判断设备已经被root过了。

上面是一些开发者们常用的方法来判断设备是否已经root,然而从攻防的角度考虑,针对部门检查项,我们都可以进行反root检查的尝试,进行设备未root的伪装

比如部分基于文件检查的root检测软件,我们可以对相关软件进行重命名。如上所例举的admin应用,我们可以通过将相关文件修改名字来绕过检查。

mv admin.apk admin1.apk

修改后就只 存在admin1应用了 , 相关软件 检查admin.apk就会提示不存在。基于文件特征和package特征的检测绕过手段思路类似,相对比较简单。

若是基于su命令查看系统uid和gid来判断是否root,我们需要修改su命令来进行,使得相关命令的显示受我们控制,这样就可以很方便的绕过root检测软件了。

类似的检测规则都可以针对性的进行反root检查只要知道了相关工具的原理,那么绕过规则的方式也是多种多样的。

3 安卓应用破解

计算机编程中,逆向工程是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。通常你想工作是为了重新实现程序,或者是仿照程序,抑或是寻找程序弱点并攻击。针对安卓应用的破解, 一般是为了生成伪造的安卓应用进行钓鱼,或以谋取利益为目的植入吸费组件、广告插件。Android中进行许多攻击都要求能对应用进行逆向工程,在进行测试之前需要充分了解应用源代码。

Apktool工具是当下最流行的安卓应用破解工具我们可以使用它反编译安卓应用,并通过简单的命令快速完成应用重打包。过程大致如图1所示。

Apktool通过初步解包会生成一个目录 , 其中包含了反编译后的Android Manifest.xml,smali等文件,Smal代码实际上是Android应用的Java字节码,类似汇编语言, 称作baksmaling。我们通过分析Main Activity.smali文件,找到smali文件中的关键代码,进行我们需要的修改操作,再经过编译测试,就可以达到修改的目的,对代码进行了修改后, 我们利用Apktool的重新编译功能生成apk来获取所需的apk文件,Apktool会将刚才解包目录中所有文件都打包到新的apk中。

在将修改后的apk重新安装到设备之前,我们还需要对应用进行签名,可以用一个自签名证书来实现。首先需要生产一个证书,然后用这个生成的证书对应用签名。该步骤可以使用“keytool”工具生成证书, 使用“jarsigner”应用签名,这两个工具都包含在JDK中。

相关工具可生成一个keystore文件,包含生成的私钥,有效期20000天。签名之后,apk就可以发布了。我们还可以使用jarsigner检查应用是否经过了签名。

签名了apk文件后,我们就可以正常安装了,将原来的应用卸载后安装新的应用,一个经过修改的app就部署完成。

4 安卓应用组件测试

安卓应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起。在manifest中,描述了每一个组件以及组件的作用,并且每个组件都是单独调用的。这里主要有4个主要的组件:

Activity: 是应用程序的显示层 ,提供一个屏幕 ,用户可以用来交互为了完成某项任务(例如打电话,发短信等)

Service ( 服务 ): 负责更新 的数据源 和可见的Activity,以及触发通知

Content Providers(内容提供者): 提供共享的数据存储。换句话来说Content Providers可以被认为是连接两个处理器的之间的接口。

Broadcast Receivers(广播接收器): 广播接收器是一个接受系统级广播的组件,(例如电量低,重启,耳机插入等)尽管大部分广播都是由系统发出,应用本身也可以发起广播。

我们可以 使用APK tool反编译应 用后分析Android Manifest.xml文件中的组件,所有的Activity都会显示在 <activity></activity> 标签当中,因此在类似的标签中的内容就是一个Activity。而content provider会显示在<provider></provider> 标签中,Broadcast则是自定义的。

我们可以使用Activity Manager, 一个安卓SDK中附带的工具,调用应用的Activity或者服务;也可以写一个恶意的应用,让它通过包名称和Activity名称来调用。

如果我们在Android Manifest.xml文件中发现其中注册了一个content provider ,并且该content provider是暴露的(android:exported=”true”),这意味着所有应用都可以访问这个content provider, 那么我们就可以使用adb命令、使用一个恶意应用发起查询或使用mercury框架来进行测试,尝试读取content provider的内容。

在防护方面我们只需要设置Android Manifest.xml文件中的android:exported属性为false,并自定义权限来限制对activity、content provider的访问就能避免上述问题。

在Broadcast Receivers组件中, 如果开发人员没有限制谁能广播谁不能广播的话,那么恶意的广播攻击就会出现。如果接收器接收到了不信任源发来的广播,那我们的应用程序会陷入危险。合理限制应用的收、发广播权限是必要的安全措施。

安卓还有一个非常有名的组件 -Web View。Web View用来显示远端或者应用本地的HTML页面,其在内部使用Web Kit引擎来渲染页面,并且支持前后导航,文本搜索等,也支持Java Script等高级特性。在Web View下有一个非常特殊的接口函数add Javascript Interface。能实现本地java和js的交互。利用add Javascript Interface这个接口函数可实现穿透webkit控制安卓系统。

相关的攻击可以通过扫描二维码、手动输入、诱导点击、模型篡改等方式调用Web访问功能,触发应用中的相关组件漏洞,造成远程命令执行,获取设备权限。应用设计时只需要合理控制该函数调用使得Web对象不可控,便能杜绝大部分该函数引起的问题,由于安卓手机系统市场上较为混乱,版本参吃不齐,应用设计中最好不要调用相关函数。

5 存储信息泄露

当安卓应用处理用户或其它数据源输入的数据时,可能会把数据放在不安全的位置,而这些数据能够被同一设备上其它的恶意应用读取,这就造成了风险。

5.1 Copy/Paste buffer 缓存

安卓系统中的剪贴板缓存也是一个存在安全问题的地方,由于移动设备屏幕的限制,用户更倾向于使用复制粘贴。如果用户把信用卡号这样的敏感信息复制到了剪贴板,攻击者通过一小段代码就能轻轻松松读取到数据,甚至能远程控制恶意应用将读取到的信息发送到他自己的服务器上。

5.2 安卓 logcat 日志

使用Eclipse IDE, 只需要把设备连接到电脑上,我们就能在logcat选项卡中看到应用运行期间输出的所有日志信息,其中可能就会有一些敏感信息,攻击者通过在受害者设备中植入恶意应用,就能随时随地读取受害者的敏感信息,给受害者造成非常严重的损失。使用adb来查看日志的话更是能将指定的logcat的输出保存到文件中。攻击者可以开发一个恶意应用来读取设备的日志信息后转发到他用来收集信息的任意服务器上。

5.3 URL 缓存和浏览器 cookie 对象

安全行业中已经有大量基于Web View的应用程序造成URL,cookie和缓存等泄露的问题, 攻击者利用程序的配置不当来劫持用户的会话。这样的缓存可能存在日志,流量历史,浏览缓存等多种形式。我们可以用grep从logcat的输出中过滤出诸如cookies等敏感信息。

许多的应用都没有禁用掉缓存, 可以简单的通过“no-cache”,“no-store”等HTTP头来避免造成信息泄露 ,这方面有许多的漏洞报告。

5.4 分析发送到第三方的信息

某些情况下,有的应用会使用第三方API。在使用这类应用时, 第三方的API可能会读取诸如设备ID及位置信息等敏感信息。

5.5 本地存储信息泄露

安卓应用开发者有很多种选择可以将数据存储在安卓应用或设备其他文件中。包括:

Shared Preferences文件。它是用key-value来存储私有的原始数据的一些XML文件,数据类型有布尔型、浮点型、整形、长整型和字符串。

SQLite数据库文件。SQLite是轻量级基于文件的数据库。这些文件通常以db或者sqlite结尾。安卓默认提供了大量SQLite支持。在应用权限上有较好的设置,其他应用无法越权访问。

内部存储。相关文件可以以任何格式存储在安卓设备的授权文件夹中, 比如一些JS文件、XML文件、CSS文件等。

外部存储。这个地址可以为一个可移除的存储媒介(例如SD卡)或者内存。外部存储一般可以被可以被任意读取。

6 加密技术

安卓系统应用中造成弱加密的原因非常多,主要的原因有两种。

使用脆弱的算法实现加解密。使用了强健的加密算法,但加密的实现存在漏洞。例如使用MD5作为Hash算法,MD5已经认为不安全了。如果应用使用了MD5这样的脆弱算法,而攻击者又能读取到Hash,攻击者就有相当大的机会能破解加密。除此之外,有的开发者也会使用编码来保护敏感信息,如base64。编码不是加密,可以很容易就解码还原出明文。

另一种情况是使用了较强的加密算法,但使用方法存在很大的安全风险。如AES之类的对称加密算法,尽管算法足够强壮,但当其实现不当的时候也一样容易受到攻击。另外对AES来说,如何在安卓设备上实现安全的秘钥管理就是一个巨大的挑战。

开发者最好不要在代码中硬编码秘钥,如果真的需要使用对称加密,基于密码的加密可能更合适,应为秘钥需要基于用户输入的密码生成。

7 结束语

安卓安全 篇2

程序会自动搜索并下载安装与当前手机匹配的驱动程序。

2、点击进入到ROM市场,选择合适你的手机的一款ROM,或是你钟情的,一般都是推荐的

3、如图,你可以选择先下载,然后进行刷机操作,或者一键刷机,直接下载后进入刷机进

4、刷机前会提醒你进行短信、联系人、通信记录、应用和应用数据的备份,方便刷机后数据的还原操作,点击刷机开始刷机操作

又或者进入到下载管理,选中要进行刷机操作的ROM(下载完成的),一键刷机

同样要先备份

5、开始刷机操作时,先是对刷机进行准备,如数据的校对等等,等待自动操作,不用干扰

6、到这一步时,手机会重启,不用担心,重启自动刷机完成后,手机系统就重装完毕了

可能会在上面第5步的地方遇到类似这样的问题,不要担心,点击解决问题,会给出相应的解答,如图为手机没有ROOT权限,所以先要进行ROOT操作

点击一键ROOT,进行ROOT操作

ROOT完成后,重新进行刷机的操作就可以

提示:刷机有风险,刷前需谨慎!

安卓设备多半没装安全软件 篇3

参与调查的智能手机和平板电脑用户中,分别只有40%和42%的用户在自己的设备中安装并使用了安全解决方案。其他受调查者主要依赖操作系统自身集成的安全功能,虽然这些功能很有限,但这些用户似乎觉得已经足够。还有一些用户仅靠自身的直觉来保护设备安全。另一方面,对网络罪犯来说,安卓系统早已成为他们首要攻击的移动平台。根据卡巴斯基安全网络的统计,目前99%的针对移动设备的恶意软件均为安卓平台所开发。而且这些威胁的数量还在不断增加。卡巴斯基实验室安全专家在2012年一年共检测到35000种针对安卓设备的恶意软件样本。而仅2013年上半年,这一数量就已经超过47000种 。

而网络罪犯对安卓平台之所以有如此感兴趣,主要由于两个原因:应用普遍以及功能性。恶意程序能够让智能手机向收费号码发送短信,从而从用户账户中窃取话费。网络罪犯还能够将智能手机变成一台监视设备,让网络罪犯获取设备主人的各种信息,包括所有来电、通讯录、社交网络和电子支付系统的密码等。换句话说,普通用户对于安卓设备的通讯功能、娱乐功能以及计算功能偏爱有加,网络罪犯同样如此。此外,这些设备还面临一种严重威胁,并且可能导致严重后果,即这些设备丢失或失窃的可能性很大。对很多用户来说,智能手机和平板电脑已经成为存储照片、视频、朋友和家庭通讯录、工作相关文档以及其他重要信息的载体,所以这些设备绝对不能落入坏人之手。尽管针对安卓设备的威胁增长迅速,但这并不能否认安卓设备仍然是一种便捷和有效的平台。所以,安卓设备用户应该选择高品质的安全解决方案保护智能手机和平板电脑。

安卓系统安全设置及控制措施探究 篇4

1 安卓系统安全设置

在安卓系统中, 有很多的防御措施, 例如代码签名技术 (code signing) 、沙箱技术 (sandboxing) 以及在安卓4.0系统中使用的地址空间布局随机化 (address space layout randomization, ASLR) 等, 这些防御措施是根据大多数人们对移动操作系统的要求而逐渐推出的。安卓系统随着版本的不断提高, 相应的安全设置功能也越来越多, 对于安卓2.2版本的系统而言, 增加的一项功能就是密码功能。对于安卓3.0版本的系统而言, 增添的一项功能就是硬件加密功能, 但是这个功能的增添却只是适用于运行安卓系统的平板电脑中。而对于安卓4.0版本的系统而言, 硬件加密功能也能够应用于运行安卓系统的智能手机之中。对于安卓系统的安全设置而言, 为了避免出现设备的丢失导致重要的数据流失, 相关的企业能够采取强制性的操作来防止重要的业务通过不符合要求的设备进行操作, 主要的强制操作有强制执行密码或者强制执行加密策略。除此之外, 还能够通过远程操作将遗失设备上的重要数据和文件进行彻底的删除。为了实现这些操作, 需要利用安卓系统的设备管理API进行操作。通过该技术的应用能够对安卓系统的安全设置进行查询和编号的设置, 主要的安全设置为密码控制措施。

对于安卓系统的安全设置而言, 这些控制措施主要是在安卓3.0版本的系统中被体现出来的, 而在安卓4.0版本的系统中增加了摄像功能。所以, 对于IT管理的人员而言, 通常情况下只能进行安卓3.0版本系统或者以上版本系统的设备运行。但是对于运行安卓系统设备而言, IT管理人员还需要仔细的对设备的模块与型号进行检查, 这是由于一些比较老的手机设备虽然将系统版本升到最高, 但是可能还不能够进行数据的加密, 系统不能够进行该功能的安全设置。除此之外, 安卓系统的安全设置还能够对设备进行锁定、重新设置设备到出厂默认状态及密码修改提示等。

2 安卓系统安全设置的控制措施

对于安卓系统的安全设置而言, 可以对安卓系统设备进行IT控制, 主要的控制措施有三点。第一点就是使用者能够对安卓系统自身携带的一些安全策略进行之间的设置。在这个控制措施中, 最为明显的一点就是加密功能的启用, 要想一次性完成这个操作, 花费的时间比较的长。因此, IT管理人员能够为使用者推荐安卓系统的安全设置, 这个方法却不能够改变IT管理的强制性。第二点就是对于企业邮箱同步时, 可以使用EAS核查和设置一些安全设置策略。如果将安卓4.0版本的系统EAS提升到V14版本时, 能够将安全设置的策略范围进行很大的扩展。但是EAS的控制措施也受到了安卓设备多样性的影响。一般情况下, 能够通过EAS对PIN密码、强制要求密码最小长度以及失败次数进行设置。第三点就是安卓系统的安全设置策略能够利用移动设备管理 (MDM) 代理或已经在设备上安装的一些安全程序进行强制的实施。一般情况下, 使用者能够在安卓市场上对MDM代理进行下载安卓, 并且依照相关的提示权限进行软件程序公司MDM的入口登记。完成该操作之后, IT的管理人员就可以通过MDM进行使用者的认证、设备证书的颁布以及给予使用者设备强制执行组织的相关策略。

3 同安卓系统上的恶意软件做斗争

对于安卓系统而言, 有很多的安全设置控制是由MDM产品为设备进行提供的, 这些产品主要包括查询被列为黑名单的应用和侦测和隔离被植入恶意软件的安卓设备应用等。通过这些产品协助IT管理人员进行相关应用安装的远程控制。这些软件能够对存在安卓系统上的一些恶意软件进行检测和排除, 更好的维护安卓系统的安全。近年来, 一些恶意软件在安卓系统上运行的非常的频繁, 为了防止安卓系统受到这些恶意软件的影响, 就必须加强对安卓系统安全设置和相关的控制措施的研究, 提高安卓系统的安全性。IT管理人员可以将第三方安全工具设置到安卓系统中, 这些工具主要包括防病毒扫描器、钓鱼URL检查器、远程锁定/寻找/擦除工具、和SMS反垃圾邮件过滤器等。除此之外, IT管理人员还可以创设一个属于自己的沙箱来进行相关的操作。

4 总结

综上所述, 运行安卓系统的设备非常的多, 为了不断的满足使用者的需求, 就必须不断的对安卓系统进行完善, 使得安卓系统能够有一个良好的安全设置, 并且采取有效的手段对其进行控制。安卓系统的安全设置使用者非常的重要, 不仅能够对使用者的重要数据进行保护, 还能够为使用者提供更多的功能, 同时还要采取一定的控制措施对其进行有效的控制。因此, 必须要加强对安卓系统安全设置和控制措施的研究。

摘要:随着科学技术的不断发展, 安卓系统 (Android) 所覆盖的范围越来越大, 并且运行安卓系统的设备数量正在直线上升。安卓系统主要分为内核、函数库和运行环境、应用程序框架、应用程序集合四个层次。安卓系统的快速发展使得它本身也存在一定的问题, 并且影响着安卓系统的使用。因此, 文章从安卓系统安全设置和控制措施两个方面对其进行了详细分析。

关键词:安卓系统,安全设置,控制措施

参考文献

[1]杨贺腾山, 郝春贺, 颜世超, 韩寿峰, 孙荣.关于安卓系统的安全防护技术与设计[J].统计与管理, 2014 (07) :104-105.

[2]姜志旺, 张红霞, 聂艳敏, 刘阳, 裘咏霄, 石惠.基于物联网的Android手机商业化应用研究[J].现代商业, 2012 (23) :58-59.

安卓安全 篇5

Visual Studio Emulator for Android应用是一款由微软发布的独立版本的安卓模拟器工具,据说 Visual Studio Emulator for Android 模拟器的性能比Google自家的要快很多,且功能也不错,不得不佩服微软,但是使用这款应用是需要hyper-v的支持,针对Win10安卓模拟器怎么用?下面带来详细的Win10安卓模拟器使用教程,

软件名称:visual studio emulator for android安卓模拟器 v1.0.5 英文官方安装版软件大小:38.2MB更新时间:-07-22

首先,开启 Hyper-V 虚拟化技术(已经开启的无视);

① 选中 控制面板->卸载程序->启动或关闭Windows功能->Hyper-V->确定

下载完后是一个40M左右的vs_emulatorsetup.exe文件,不包含安卓模拟器的镜像文件,安装的时候会默认在线下载API 19(Andorid 4.4)的x86镜像,后续你也可以单独再下载其他的API xx版本,另外说明一下,Visual Studio Emulator for Android是不依赖Visual Studio的,也就是说可以单独安装使用,Android Studio是使用adb作为桥梁来连接Visual Studio Emulator for Android。

安装步骤我就不列出来了,记得安装后重启(它需要把自己加入Hyper-V Administrators的管理员组里面)。

安装重启后打开Visual Studio Emulator for Android,如下所示:

如果你启动了模拟器,则会在Hyper-V里面自动创建出对应的x86的Android虚拟机来,笔者的如下:

2.设置Andorid Studio使其可以使用这些模拟器

打开Android Studio>Run>Edit Configurations>Defaults/Android Application/General 选项卡的Target Device节点,勾选Show chooser dialog和Use same device for future launches。记得不要忘记点Apply和OK。如下图:

3. 为Android Studio添加启动模拟器的快捷按钮

虽然在Visual Studio Emulator for Android的管理器窗口中可以启动模拟器,但是每次都要到这里面去打开还是比较繁琐的,故而我们为Android Studio添加一个启动Visual StudioEmulator for Android的快捷按钮。

3.1 配置External Tools

打开File>Settings>External Tools>Add:

Name:随便写,方便你认出来就好,笔者的是VS Emulator (4.4 API 19)。

Program:填写Visual Studio Emulator for Android安装目录下的emulatoecmd.exe的绝对路径,就是用它来启动模拟器的,

笔者的是C:Program Files (x86)Microsoft Emulator Manager1.0emulatorcmd.exe。

Parameters:添加启动模拟器的参数,/sku:Android是说明打开Android的模拟器,/id:后面的Guid是模拟器的唯一编号,总的意思是指定要启动哪一个Android模拟器。id可以通过emulatorcmd.exe /sku:Android list /type:device获得,如下:

Working Directory:指定工作目录,应该是可以随便填写的。笔者的是$ProjectFileDir$。

3.2 添加按钮到Toolbar

在toolbar空白处点击右键,选择Customize Menus and Toolbars。然后导航到Main Toolbar>Add After>在弹出的面板中找到External tool>VS Emulator (4.4 API 19)然后按OK。如下:

然后点击我们新添加的按钮了,就可以启动Android模拟器了:

4. 为Android Studio添加Contect模拟器的快捷按钮

第三节的按钮只是启动了模拟器,但是Andorid Studio还无法连接到模拟器,这里就要使用adb命令来连接到刚才启动的模拟器上。

4.1配置External Tools

同样是添加一个快捷按钮,步骤和第三部一样,只是参数不同,这里我就只把参数列出来了:

Name:随便写,方便你认出来就好,笔者的是adb Connect (VS Emulator)。

Program:填写adb.exe的绝对路径,笔者的是D:_androidsdkplatform-toolsadb.exe。

Parameters:添加adb.exe的参数,connect ip:5555;笔者的是192.168.2.233:5555。ip可以通过打开模拟器在wifi中查看,也可以在模拟器的设置中network中查看

Working Directory:指定工作目录,应该是可以随便填写的。笔者的是$ProjectFileDir$。

4.2添加按钮到Toolbar

步骤和3.2一样的,这里就不再解释了。贴个图吧:

5.用Visual Studio Emulator for Android调试Android App

按下Run按钮(绿色箭头那个...),弹出选择Android设备的选择框:

OK啦,大功告成:

6. 进一步完善

每次调试前都要点一下启动模拟器的按钮,等模拟器启动然后再点击contect模拟器的按钮,然后才能点run调试,,,好繁琐。

我们来配置一下run之前要执行的命令,让run按钮把这三件事都做了!

警惕安卓恶意软件 篇6

迈克菲发现,恶意攻击者会伪装成用户银行的工作人员,给用户发送电子邮件、短信、网站和链接,诱使用户安装该恶意应用程序。当恶意应用被安装后,它会邀请用户输入登录名和密码,从而获取用户的身份信息。

实际上,大多数银行诈骗并非是由于银行的IT系统被攻破,而是因为用户在不知情的情况下,将个人银行信息给了恶意攻击者。不少以Android手机为目标的恶意应用程序,还会在用户不知情且并未授权的情况下,将手机用户包括银行登录账号密码及手机交易密码等信息秘密发送给攻击者。

在分析了各种手机银行的安全威胁之后,迈克菲安全建议中心为手机银行用户提出了以下安全操作建议,帮助用户避免手机银行的安全威胁。这些建议包括:

一、不轻易透露个人的银行信息:不向除银行工作人员以外的任何人透露您的银行卡号码或密码;不在短信或电子邮件中透露任何帐户相关的信息;如果您收到金融机构发送来的短信,在阅读后最好能删除。

二、警惕假冒的应用程序和假冒成银行或银行工作人员发来的信息:对伪装成来自银行的电子邮件(又称网络钓鱼)不要轻易回复,从而避免感染上病毒;下载银行的移动应用程序之前进行确认,确保每次您正在访问真正的银行;报告任何可能是恶意的银行应用程序。

三、如果您使用Wi-Fi联网,请在确保无线网络安全的情况下安全连接至您的手机银行站点或应用程序:切勿通过不安全的无线网络发送敏感信息,例如酒店或咖啡厅里的无线网络;如果您要在公共场合下查看银行帐户(如图书馆或咖啡厅),请注意安全并在结束查看后立即更改密码。

四、确保您的设备安全:使用密码保护设备,并将设备设置为一段时间后自动锁定。切勿尝试破解或修改设备,因为这可能会使设备受到恶意软件的攻击。

五、检查您的设置:Android用户应该确保他们只从信任的来源处下载应用程序。不对“来源不明”的应用授权。

六、如果您丢失了手机或更改了手机号码,请联系金融机构,以便他们及时更新您的手机银行信息。

七、留意查看财务对账单:仔细查看财务对账单或交易明细,及时发现任何异常情况。

八、通过专业化的手机安全软件获得更为完整的安全保护。如可以选择在您的Android设备上安装McAfee Mobile Security一类的移动安全软件,它不仅能够提供全天候的防病毒保护,还让你能够备份和恢复个人数据,在设备丢失或被盗时,能对设备进行远程锁定、定位和擦除数据的操作。此外,也可以考虑McAfee All Access这样的整体解决方案,以便跨包括电脑、笔记本电脑、上网本、智能手机和平板电脑在内的所有设备提供安全保护,保护用户远离恶意网站和黑客、病毒、网络犯罪、电子诈骗、身份窃取等。

安卓安全 篇7

随着国民经济的快速发展,汽车被越来越多的人所拥有,汽车网络化程度也在不断提高,出现了车联网的概念。车联网采用了各种网络通信技术来实现汽车控制、导航服务、联网应用、车地通信、“车车通信”、车人通信等功能[1]。一方面给驾驶者带来了便捷的汽车应用服务,提高了驾驶的趣味,增强了驾驶安全性,另一方面很大程度上缓解了交通拥堵,提升了现有道路的交通能力。

车联网的发展带来了各种便利,而这些便利也恰恰成为黑客侵入汽车网络系统,扰乱汽车及交通秩序的途径。近几年来,已经有很多著名的黑客公开报告成功的攻击了几款在售车型。这些公开报告把汽车的网络信息安全问题推到了风口浪尖,希望能引起汽车制造商和学者对汽车网络信息安全问题的关注。在车辆的控制方面,OBD(车载诊断系统接口)应用的安全问题尤其值得关注,通过OBD不仅可以监听总线上的消息,还能伪造假消息(如传感器采集的信息)来欺骗发动机控制器,达到篡改汽车行动状态的目的[2]。黑客可以在汽车的OBD口安装具有无线发射接收模块的恶意硬件,攻击者便可远程向该恶意硬件发送错误的OBD控制指令,致使跑在高速路上的车辆发动机突然熄火,恶意转动方向盘方向,最终使得车毁人亡[3]。

针对以上车联网中的安全问题,本文提出使用1024位RSA加密算法完成车载端Android平台的数据加密与客户手机端数据解密。考虑到1024位RSA算法对效率的要求高并且用JNI接口可以不容易被反编译,所以用C++来完成RSA算法的实现,在Android系统中通过JNI接口调用C++程序完成对JAVA中数据的加密[4]。此中1024位的大数运算是项目的难点和关键点,尤其是模幂运算。JNI接口的调用是本文的创新点和亮点,使用JNI接口可以提高效率还能加强系统的安全性。

2 1024位RSA加密算法

2.1 RSA加密算法过程

汽车移动互联平台上使用的RSA算法是1978年由Rivest,Shamir和Adleman三个人共同提出的。RSA算法与大多数的公钥密码一样,它的安全性主要是取决于加密算法中数学问题求逆的困难性,我们把这种数学难题叫做单向函数。RSA算法选用的单向函数是:两个大素数相乘是简单的,但把得到的积分解为两个素数则很难。RSA加密算法的理论基础是一种特殊的可逆模幂运算。RSA算法可以分为密钥产生过程和加解密过程,如图1所示。

RSA算法的密钥产生过程:

(1)系统产生两个大素数p,q(保密);

(2)计算n(公开)和欧拉函数φ(n)(保密),n=p*q,φ(n)=(p-1)(q-1);

(3)随机选择满足gcd(e,φ(n))=1的e作为公钥,加密的密钥对就是(e,n);

(4)计算满足ed=1 modφ(n)的d作为私钥,解密密钥即为(d,n)。

RSA加解密过程。先把明文m分组,再数字化,分组并数字化的每个明文长度不超过log n。然后对每个分组进行加解密处理:

(1)加密运算:使用公钥e和要加密的明文m进行c=m∧e mod n的运算得到密文;

(2)解密运算:使用私钥d和要解密的密文c进行m=c∧d mod n运算得到明文。

2.2 素数概率判定算法

RSA算法中选择使用概率性素数判别。如果一个整数通过素数判定检测,可能它是素数;否则,它一定是合数。随着这个整数通过素数判定检测的次数增加,它是素数的概率也会增加[5]。在实际的判定中,可以实施多次测试,如果通过次数足够大,则可信度可以接受,以满足实际需要。素数判定的算法有很多,在实际使用过程中,由于Miller和Rabin两个人提出的素数概率判定算法每次判断成功率高,所以得到了广泛的应用[6]。

算法2.1 Miller-Rabin素数概率判定算法

输入:奇数,安全参数;

输出:n是素数还是合数。

2.3 扩展欧几里得算法

扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展。已知两个整数a、b,利用扩展欧几里得算法能在求得a、b两数的最大公约数同时,找到两个整数x、y(有一个可能是负数),使得满足贝祖等式ax+by=gcd(a,b)。若a为负数,问题可以转化成|a|(-x)+by=gcd(|a|,b)(|a|为a的绝对值),然后令x'=(-x)。一般说到最大公因数时,都会提到一个基础的事实:已知两个整数a、b,必存在整数x、y可使得ax+by=gcd(a,b)。已知两个数a,b,对a,b进行辗转相除,可得a,b的最大公约数。然后,记录辗转相除法中产生的式子,倒回去,便可得到ax+by=gcd(a,b)的整数解。

算法2.2扩展欧几里德算法

2.4 Montgomery模约减

RSA算法中最基本、最核心的算法就是模乘运算,因为RSA所要做的运算大部分都是模幂运算,而模幂运算都得转化为模乘运算,它是由Montgomery模约减和乘法两种算法结合而成的[17]。

在没有Montgomery模约减算法之前,人们做除法求余数的方法来进行模乘法、模约减等运算,即经典模约减算法。Montgomery模约减算法不使用经典模约减算法就可以有效实现模乘运算。

设m是正整数,T和R是整数,满足R>m,gcd(m,R)=1,0荞T荞m R。Montgomery于1985年提出一种方案能在不使用经典乘法的情况下来计算TR-1mod m[18]。TR-1mod m称为T模m关于R的Montgomery约减。选择适当的R,Montgomery约减可以有效的计算。

如果将m表示成n位的b进制数,则R的典型选择是bn。条件R>m显然满足,但条件gcd(R,m)=1当且仅当gcd(b,m)=1时才能满足。因此R的这种选择并不是对任意的模数都是可行的。对于RSA算法来说,因为m是奇数,所以b可以取2的幂,且R=bn。在32位的计算机上实现时,通常选b=232。

引理2.1 m和R是整数,满足gcd(m,R)=1。令m'=-m-1mod R,T是满足0荞T荞m R的正整数。若U=Tm'mod R,则(T+Um)/R是整数,且(T+Um)/R=TR-1(mod m)。

如果把所有的整数都表示为b进制,且R=bn,则TR-1mod m可以采用算法2.3,用两次多精度乘法(U=Tm和Um)、一次多精度的加法(T+Um)和一次右移(即除以R)计算出来。

算法2.3Montgomery模约减算法

输入:整数m=(mn-1,...,m1m0)b,gcd(m,b)=1,R=bn,m'=-m-1mod R,T=(t2n-1,...,t1t0)b<m R;

输出:TR-1mod m

3 Android通过JNI调用C++程序

在此项目中,汽车移动互联平台的车载端APU上搭载的是Android系统。有过Android系统开发经验的人都知道Android系统的开发语言是Java。Java是目前使用非常广泛的一种程序开发语言,具有鲜明的特性。Java语言所写的程序与平台无关,即“一次编写,到处运行”。Java语言是解释性的编程语言,Java的虚拟机实质上是一个字节解释器,因此和编译性编程语言相比,Java语言的运行效率不高,不能承担性能要求高的编程任务,比如说编写复杂耗时的算法等[7]。以上的几点不足可以看出,Java语言不适合编写RSA这样耗时长的算法,Java编译器的开发者考虑了这一点,因此他们在Java语言中设置了一个JNI接口。可以通过JNI接口调用C/C++代码。并且Android在使用JNI接口调用时先生成一个.so文件,更重要的是它通过C/C++代码实现,所以安全性比较高,并且它可以被反编译成机器码,但几乎不能被还原反编译。[8]

4 实验与分析

4.1 PC端测试

测试环境:

处理器:Intel(R)Core(TM)i3-2330MHz CPU@2.20GHz;内存:4GB;系统:64bit Windows 10专业版。

为了测试方便在开始先要输入N的位数,如图输入1024用时大概需要1分钟产生密钥。并且可以看到参数N、p、q、e、d的值,且都是以16进制表示。这里的e都选用65537,RSA实验室的PKCS建议取e=216+l=65537,其二进制表示只有二个1。它的安全性没有受到很大影响,而且加密速度还很快。现阶段,没有特殊的额外要求的话,都是用此公钥。

4.2 Android端测试

图6图7是Android端使用JNI接口后调用C++程序进行加解密的界面图。可以看出Android系统使用JNI调用后可以正确加解密。

5 结束语

本文主要研究在汽车移动互联平台上1024位RSA加密算法的实现。首先用C++程序完成大素数生成,模幂运算的制定,产生加密密钥,可以对数据进行加解密。然后搭建Android的JNI接口,从Java语言中调用C++语言程序,最终完成汽车移动互联平台的加解密过程。

摘要:随着车联网的发展,人们的生活有了更多的便利,但同时也成为了黑客入侵汽车网络系统的途径。因此就迫切需要对车联网中传输的数据进行加密和签名,提高传输数据的完整性,保密性和不可否认性。针对车联网中汽车移动互联平台的安全性,论文提出使用1024位的RSA加密算法,负责汽车移动互联平台到服务器的加密和客户端接收服务器信息后的解密。在该汽车移动互联平台中使用的是Android系统,论文提出了在Android系统中调用C++程序的方法进一步加强安全性。该系统经加密后安全性提高,且在安全的同时又有较高的效率。

关键词:android,rsa,jni

参考文献

[1]杨南,康荣保.车联网安全威胁分析及防护思路[J].通信技术,2015,12:1421-1426.

[2]翟苗,拱长青,刁俊胜,关婷婷.基于PKI的车联网安全通信与隐私保护机制[J].沈阳航空航天大学学报,2012,05:59-63.

[3]李小刚,杨彬.车联网安全防护问题分析[J].移动通信,2015,11:30-33.

[4]冯涛.车联网技术中的信息安全研究[J].信息安全与技术,2011,08:28-30.

[5]张丽媛.RSA密码算法的研究与实现[D].山东科技大学,2005.

[6]冯也.基于RSA信息安全加密系统的研究与实现[D].东北大学,2009.

[7]陈去疾,李敬华,郭华磊.JNI在Android硬件开发中的应用[J].电信快报,2014,01:27-29.

“谷歌”操控下的“安卓系统” 篇8

答案当然是否定的。

安卓系统手机这种表面繁荣的背后, 却潜伏着最大的危机。那就是三星手机的成功, 是踩在“别人”的肩膀上。这里的“别人”自然指的是谷歌。换句话说, 安卓系统和三星手机并不是一家人, 而谷歌才是安卓系统真正的拥有者。而安卓系统如今占据手机市场的大半壁江山显然是谷歌和手机生产商家“联姻”的结果。

当然, 在中央空调行业中“联姻”的现象也普遍存在。厂家与厂家之间的联姻, 厂家与经销商之间的联姻虽有但毕竟不多, 而压缩机生产厂家和设备厂家的联姻却比比皆是。众所周知, 中央空调是一个完整且复杂的系统, 但是其最核心的技术仍然主要集中在压缩机上。因此, 谁掌控了压缩机的核心技术也就掌握了商用空调市场的命脉。

以往, 国内中央空调市场在相当长的一段时间内都是外资品牌占据绝对优势的地位, 因为其核心技术尤其是压缩机的制造技术基本掌握在外资品牌手中, 对国产中央空调尤其是大型冷水机组的发展形成了技术壁垒。然而, 随着行业的发展, 以格力、美的、海尔等为代表的民族品牌纷纷建立自主产权的压缩机生产基地, 通过走出去、引进来等策略, 吸引海外先进技术, 再自主创新, 对压缩机技术进行全面的提升与改进, 不断打破国外企业的技术垄断, 从国内领先到国际领先, 为中国暖通产业做出了卓越的贡献, 国进外退日趋明显。但是这并不能表明国产品牌已经完全拥有了压缩机的核心技术。因而在某种程度上, 有些国产商用空调仍然依靠外资品牌生产的压缩机产品。

国内拥有生产压缩机工厂的企业毕竟有限。而那些至今尚无实力生产压缩机的空调厂家也都通过采购外资品牌的压缩机进行组装, 生产出的主机设备产品并打上自己的品牌标签然后对外销售。这一过程被视作半成品加工厂。虽然也有些设备厂家有着过硬的硬件设施却无法弥补软件方面 (压缩机) 的劣势, 因而发展中总是处于被动局面, 甚至可以这样来断定, 一些尚无自主核心技术的设备厂家目前所有的工作, 都可能是给压缩机厂家做嫁衣。因此, 即使像现在很“牛”的三星手机也不得不受制于谷歌的安卓系统。被别人牵着牛鼻子走的感觉确实不是滋味, 并且三星也在努力研发自己的操作系统。但是也始终抵挡不过安卓系统的强大性能优势。这对三星的发展来说是致命的, 市场的主导地位仍然掌握在谷歌手中。即使有一天, 三星和谷歌摊牌后, 谷歌也未必会因此而蒙受太大损失。因为, 谷歌在2011年收购了以前的手机巨头——摩托罗拉, 这将会是谷歌亮出的一张底牌。所以, 最终的输者只能是三星。

安卓阵营的自我营销涅槃 篇9

两大安卓巨头唱对台戏的架势不言而喻, HTC在营销方面的此举, 则堪称自我突破。不仅如此, 如果收看欧冠赛事直播, 你还能注意到, 新HTC One的大幅广告出现在了中途的插播中。新HTC One发布邀请知名歌手王力宏为其代言, 这也都是HTC从未有过的尝试。

依然是在这款新品发布会上, HTC把新产品称为“地球上最好的安卓手机”, 一反公司谦和、低调的形象。HTC执行长周永明解释说, “我们还是很低调, 只是想要勇敢地把创新、特色、体验说出来, 跟大家做更好的沟通, 也许我们以前太低调了。当然, 以前的情况不太一样, 我们的技术创新一直领先, 营销、沟通做的还不够好。但是我们也是一个年轻的品牌, 品牌发展的过程中, 我们也在学习、历练。我们希望能在今年做出更快的改变, 把习得的经验整合好、执行好。”

的确, 来自HTC官方的说法以及外间的评价都认为, 营销乏力是HTC业绩不佳的原因——酒香只恨巷太深。HTC在2013年也呈现出在品牌、营销方面“自我突破”的姿态。不仅提出要更换从2009年沿用至今的“Quietly Brilliant”品牌标语, 还提出了新的品牌主张——“大胆 (Bold) 、真实 (Authentic) 、有趣 (Playful) ”。就在写作本文的时候, HTC官网上已经没有“Quietly Brilliant”, 此前宣传时提及的新的标语变成期待。

换标语不错, 新的品牌主张也很好, 包括HTC首席营销官何永生谈到的品牌理念一致、执行的时候本土化, “要做一个国际品牌, 不能一个广告全球用。”这都是积极、正面的营销策略, 但这依然未能解释策略与实际的差距, 即如外媒质疑:“HTC之前的产品、战略都没错, 它怎么就不见突破呢?”

身份认定从命名开始

消费者购买的并不是某个企业给他们生产的产品, 而是生产这个产品的理由。消费者的情感因素对安卓智能手机行业的重要性, 可能没有哪个行业出其右。这里厂商林立, 型号各异, 高度同质化的现象比比皆是。

品牌的重要性众人皆知, 而品牌营销最大的问题, 在于品牌形象被分化到了一个个产品当中, 妨碍其作为一个整体扩张。一个解决的方法是创立子品牌, 这样做也可以让母品牌有机会涉足其他领域和业务。

在上世纪80年代, 苹果还只是一个产品品牌, 它代表的是8位的个人电脑。不过, 苹果公司的一项重要决定奠定了后来成功的道路, 那就是为其商业产品建立一系列的品牌, 于是有了Macintosh。现在在选购苹果产品的时候, 没有人会说我买了个“苹果”, 而会说“我买了个i Phone或者i Pad。”“苹果”成功地由产品品牌变身公司品牌。

与苹果不同, HTC以及其他的智能手机制造商并没有自己的系统平台, 他们不得不在安卓、Windows Phone平台上双线作战, 交相竞争, 这也导致差异化难行。在纷乱的市场当中, 消费者只会被他们所知的, 或者所期待的东西吸引, 吸引力来自于过去对手机的使用经历或者企业的营销。在这样的情况下, 一个大厂牌在品牌专注度上就显得有点捉襟见肘。也正是意识到这一点, 三星有了Galaxy, Nokia也推出了新的Lumia系列, Sony和LG也有各自的Xperia和Optimus。

作为后来者, HTC推出了One系列, 而现在又有了新HTC One。这样的命名方式, 不禁让人觉得有些混乱, 这对传播或品牌提升本身也是不利的。对于这样的质疑, 中国区总裁任伟光解释说, “关于新品命名, 新HTC One的很多创新不敢说是划时代的, 但是确实有很多突破。我们内部讨论后, 公司总部决定为突出我们要重新来过, 给人感觉不是简单的2代或者3代, 决定命名为新HTC One。它是要反映出我们是想重新定义很多东西。当然, 反过来你可能会觉得命名乱。”

这种“重新来过”的新名称, 有点类似汽车厂商的产品系列一样, 把它延续下去。“比如宝马的推广走的是品牌和系列, 有5系列或者3系列, 不管是2013款, 还是2012款的, 都是5系列, 我们希望也这样做。我们也考虑过是不是新HTC One, 新HTC Two?不论怎样, 我们希望有一个延续性的名字。”

名正则言顺。一个延续的名字对于HTC来说太重要了。

另一方面, HTC从初创时开始就参与了这个行业里的合作创新, 从最初的ODM, 到自有品牌之后与微软、谷歌、Facebook推出的各种机型。但合作创新也给品牌的认知带来了副作用。HTC与谷歌推出的第一款安卓手机可以在坊间被称为G1, 这无可厚非, 但之后推出的若干机型, 消费者都以G3、G4, 乃至G12的方式排序。消费者是贪图便利的, 而一个品牌的辨识度也就淹没在这种便利当中。

找准目标人群

HTC有意区别于其他厂商目标消费者“年轻化”的标签, 而是从生活、个性、影响力方面考量, 定义一个新的人群。用周永明的话说, “如果光说年轻化就太简单了。”从2013年开始, HTC的营销将聚焦在一个族群——“Exceptionals”, 它可以理解为特色人群。“我们通过全球调查发现, 共有10亿我们所定义的Exceptionals, 年龄大概是18-30岁之间, 他们是一个具有领导性和影响力的群体, 包括他们使用的手机、品牌都能影响到大众族群。”

何永生说, “我们在做了深入的市场调查以后发现, 这个族群对于智能手机的要求很高, 并不单纯满足于通话和视频, 而且要求与众不同、有自己的风格。”虽然“Exceptionals”的概念在中文语境中还不是那么明确, 不过我们可以感受到这个群体应该是个性鲜明、不随波逐流, 即使很文艺, 也还有点科技上的小癖好和小见解, 当身边朋友需要购买电子消费品时, 他们会成为一个可靠的顾问。

凡此种种, 对于这样一群人, 是否需要付出更多的营销努力呢?“营销是我们的短板, 这个短板怎么补, 我们并不想走什么突破性的路数, 我走基础的这几条路, ”任伟光说, “我自己感觉是三块, 第一是透过明星代言, 把产品的知名度再提高一些。我们从来没有用过明星代言, 今年开始有明星的加入, 这个一个明显的变化。第二在零售终端的功夫做得更扎实, 做更多的用户体验。第三个方面, 互联网的影响越来越大, 不是随便买一个广告那么简单。我们也在补课, 与电子媒体的合作采用一种活动的方式, 用活动产生流量, 再把流量转到我们希望的地方”。

真补齐但仍有点“傲娇”?

营销目标人群上HTC有自己的定义, 但具体执行上, 至少目前它还显得太过扭捏。何永生表示, 新HTC One的广告将主打三个服务:HTC Blink Feed、HTC Boom Sound和HTC Zoe。对于新HTC One上这个“骇人听闻”的爆点——超像素, HTC并没有选择代言人, 而是发起了“随手拍”这样的互动活动。任伟光的解释是, “拍照之所以没有用明星来推动, 我们是希望利用线下零售层面的优势来做, 让消费者去零售店去感受我们的拍照功能, 你没有亲自用过, 你就不知道什么叫超像素、动态相册, 拍照部分真的要靠体验。”

超像素既是新HTC One的亮点, 也是营销的难点。任伟光也不讳言, 新HTC One的创新体验很多, 最难推的就是超像素。“我们知道这一仗很难打, 超像素的画面质量很好, 当你真的用过之后就感觉得到。光线很充足的时候, 优势不明显;但光源不足的时候, 包括在室内, 你拿新HTC One拍, 跟随便拿一个手机拍的效果对比, 新HTC One的画质表现能够胜出一筹。所以, 在推广中, 我们一方面是透过媒体与消费者多交流, 跟很多业内专家一起推广;另一方面, 我们透过零售终端让消费者尝试。我们会搞很多路演, 随拍随比, 看效果就明白。坦白来说, 我们也知道这个过程是很漫长的, 不是说三天或者一个月之后我们的目标客户群都知道超像素, 而要靠体验、靠营销、靠公关媒体来长期推广这个概念。”

总体来讲, 新HTC One是一款很难用参数说话的手机, 最大卖点Blink Feed界面和拍照功能基本上都需要用户体验后才有更明确的感知。从产品角度看, 新HTC One在功能与用户体验上的创新的确让人欣喜, 与那些中听不中用的参数相比, 甚至表现出一种人文关怀。可以说, HTC成为了极少数不盲目追求硬件升级的公司, 这也是HTC2013年的创新标签。不过, 这也意味着用户认知有很长的路要走, 营销端成功与否可能会是成败的关键。HTC在解决了产品创新问题的同时, 又冲着自己的短板提出了新挑战。

鉴于品牌力打造、营销短板补齐都非朝夕之功, HTC能否从求生模式再上高速“大路”, 新HTC One更可视为求生模式开启的一个漂亮开头, 拭目以待还需必要的耐心。对HTC而言, 尽管目前时机还在, 但也必须快马加鞭了。

这种“重新来过”的新名称, 有点类似汽车厂商的产品系列一样, 把它延续下去

微软借安卓重起炉灶 篇10

据国外媒体报道, Windows Phone可能没有像微软预期的那样取得巨大成功, 但这并不意味着微软及其新任首席执行官萨蒂亚·纳德拉 (Satya Nadella) 做出一些惊世之举——例如放弃Windows Phone、开发一款基于谷歌安卓的全新移动操作系统, 改变微软在移动市场上的处境。部分分析师曾表示, 此举对于微软来说是一种“不能战胜对手就加入对手”的策略, 有助于增加微软在移动市场的存在。

《华尔街日报》日前报道称, 诺基亚将在2月晚些时候举办的全球移动通信大会上公布一款安卓智能手机。诺基亚已经将手机业务出售给微软。但这绝非一个好主意。

微软要转向安卓

过去两年来, Windows Phone市场份额在逐步提高, 但与安卓和苹果i OS相比仍然微不足道。业界人士“自然而然”地会认为, “微软可以采用安卓, 安卓是开放源代码软件, 有100万款应用和10亿用户”。但是, 即使不考虑其他因素, 微软转向安卓的可能性也微乎其微。从技术角度看, 如果想生产运行安卓的智能手机, 微软完全无须扯上谷歌。

安卓是一款全功能的移动操作系统, 使智能手机能完成应该具备的所有功能, 它支持智能手机所需要的所有硬件——手机天线、CPU (中央处理器) /GPU (图形处理器) 、GPS (全球定位系统) 、Wi Fi、蓝牙、各种传感器等。安卓还提供一些基本应用, 例如消息、通讯录和通话。所有这一切都包含在安卓开放源代码项目 (AOSP) 中, 任何安卓手机厂商都会根据自己的需求对AOSP进行定制。AOSP是基础性的软件, 就像画家的工具——画布、颜料和画笔, 如何使用它就是各家厂商自己的事儿了。

从这个意义上来说, Android只是一个起点或基础, 而非成品。实际上, 业界人士谈到定制版Android时, 他们的真正意思是“在不扯上谷歌的情况下使用安卓”。微软不能定制AOSP, 至少这样做意义不大。它可以像其他厂商那样使用Android。但是, 要真正生产一款智能手机, 利用安卓生态链创收, 微软需要的远不止AOSP。

安卓=谷歌?

许多人都有一个误解:安卓就是谷歌, 谷歌就是安卓。这种认识是错误的。安卓开发中绝大多数工作都是由谷歌完成的, 但它并非是AOSP的唯一贡献者, 三星、索尼、英特尔、ARM、英伟达, 甚至是美国国家安全局的研究人员都为安卓贡献了代码。每款新版安卓都是谷歌工程师与硬件厂商和应用开发者讨论的结果, 他们共同商定安卓版本的功能。然后谷歌会组织其工程师解决相关问题, 当开发出足够多的新功能后, 谷歌就会发布一个新的安卓版本。安卓开发还涉及到从技术上说并非安卓本身的其他开放源代码项目。例如, 谷歌就为安卓贡献了浏览器网页渲染引擎Web Kit、应用渲染引擎Dalvik等。

谷歌似乎百分之百地控制着所有的安卓组件, 但实际情况并非如此。谷歌的目的是成为工具开发商和Android。硬件厂商、合作伙伴和应用开发者在安卓核心的基础上开发什么组件是他们自己的事。要搞清楚微软如何利用自己的功能和服务开发定制版安卓, 了解谷歌开发了哪些功能, 使安卓成为目前的样子是相当重要的。例如, 谷歌移动服务 (Google Mobile Services) , 是谷歌在安卓核心之上开发的一系列系统软件和核心应用的合集, 包括核心的谷歌应用, 例如Gmail、Maps、Calendar、Hangouts、Drive、People (Contacts) 、Google+和各种Google Play媒体。尽管安卓是开放源代码项目, 但谷歌移动服务不是。谷歌移动服务的开发、更新和功能是由谷歌控制的。谷歌将谷歌移动服务许可给安卓合作伙伴, 使安卓手机谷歌化。

如果手机厂商 (例如三星或HTC) 想访问Google Play应用商店, 谷歌会坚持要求手机捆绑整个谷歌移动服务。Google Play中有逾100万款应用, 是促使合作伙伴使用谷歌移动服务的一大重要原因。谷歌移动服务中一个重要部分是Google Play服务, 使开发者能为Google Play应用商店开发应用, 其中包括开发者接受付款的能力。支付不包括在AOSP中, 因为它要求交易元素, 谷歌充当开发者和全球支付服务之间的中间人。

利用安卓平台

要在不与谷歌合作的情况下使用安卓操作系统, 厂商有三种选择:只使用安卓开放源代码平台, 它们的智能手机不能访问Google Play或谷歌的应用;在Android平台上开发特定组件, 例如地图服务;将全套谷歌移动服务照搬到自己的手机上。

迄今为止, 只有亚马逊开发了自己完整的生态链——专属的应用、应用商店和开发者服务。Amazon Appstore应用商店向Kindle Fire平板电脑用户提供应用, 亚马逊的开发者服务包含支付、游戏服务器 (身份认证和登录等) 、地理位置服务等。亚马逊在安卓平台上开发了自己的完整生态链, 并复制谷歌在谷歌移动服务中提供的全部功能——亚马逊拥有云计算基础架构, 有足够的资金招聘工程师为自己的平台开发资源, 拥有自己的媒体商店 (图书、电影和音乐) 和应用商店。

有足够的资源与谷歌移动服务在安卓领域竞争的公司并不多, 微软当然可能是有能力与谷歌竞争的一家公司, 微软有自己的基础架构和云计算服务, 有大量的开发者为其平台开发资源。

Windows Phone可能不是一款一鸣惊人式的产品, 但至少它有自己的应用商店、独特的用户界面和数以百万计的用户。微软淘汰Windows Phone, 转向安卓的目的何在?最大的原因是吸引开发者和他们的应用。但这一策略并非一定能获得成功。

截至2 0 1 4年2月份 , 问世约3年的Amazon Appstore有约13.1万款应用。Amazon Appstore中的应用数量远低于GooglePlay的100万款, 而且缺失一些知名应用。亚马逊没有披露Kindle Fire的销量, 因此开发者不可能知道他们的潜在用户群有多大。黑莓没有使用安卓, 但允许开发者利用Dalvik运行时间库, 将安卓应用移植到黑莓10平台。应用缺乏被证明是黑莓的一大灾难。一名开发者滥用了黑莓的系统, 在应用商店中发布了数千款应用。

Amazon Appstore和Black Berry World都只是小众的应用商店, 对于应用开发者来说既是一个机遇, 也是个麻烦。微软不会重蹈亚马逊和黑莓的覆辙, 成为安卓生态链内的小众市场。

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:基于安卓的论文题目 下一篇:安卓开发课程总结