2017-02-07, 10:45:27

设备:PC, MI 5s

环境:Win 10, MIUI 8.0.22.0 | 稳定版

由于第一次用 AI2 开发安卓应用程序,第一次发现有编程入门不拿 Hello world 招呼人的,很是意外,也令人欣慰。随手撸了几个 Demo ,打包,下载,安装到手机,发现居然有风险提示。直接忽略,使用起来发现功能并无异常。时候发现原因其实是——APP签名非官方注册,用Mit App Inventor做的APP并不属于某公司制作,所以被识别为个人制作,而病毒软件往往是个人制作,所以系统就误判为病毒了。

这里简单说明一下APP签名:

App签名的意义:

保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,需要对发布的APK文件进行唯一签名,保证每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。

App签名的目的:

1.发送者的身份认证,由于开发商可能通过使用相同的Package?Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换

2.保证信息传输的完整性,签名对于包中的每个文件进行处理,以此确保包中内容不被替换

3.防止交易中的抵赖发生,Market对软件的要求

APP 签名的作用:

1.数字证书用于标识应用程序的作者
2.应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。
Android系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。
签名的规则:
1.包名相同,签名相同,认为是同一程序,新版旧版更新
2.包名相同,签名不同,认为不是同一程序,防止hack

到这里基本就清楚为什么提示风险,也清楚什么是App签名了,简单讲就是防伪防窜货。我好奇其实签名放在哪里,于是压缩包打开看了一下,发现AI2生成的apk的签名位置在......zZZ

签名文件
Apk用rar打开META-INF如下:
ANDROIDK.RSA  密文   可重命名
ANDROIDK.SF   明文,可阅读  可重命名
MAINIFEST.MF   明文,可阅读
apk包中签名相关的文件在META-INF目录下
ANDROIDK.SF:生成每个文件相对的密钥

MANIFEST.MF:数字签名信息

好了, 到这里就算弄明白问题成因了,那么怎么解决,学习初期建议直接忽略吧。


参考链接:http://www.51testing.com/html/20/15089220-3709641.html

站在巨人的肩膀上我们除了看得更远,还心怀感恩!非商业用途,如有冒犯,还望告知。

App Inventor 下载时提示有风险相关推荐

  1. python迅雷下载任务出错_迅雷下载时提示“任务出错”怎么办?(附多种解决方法)...

    迅雷可以说是目前国内最大的下载工具了,在使用迅雷下载文件的时候,有时候会出现下载任务出错,那么有哪些原因导致下载任务出错呢?应该怎么解决呢? 原因一:可能是下载的资源出现问题 解决办法:重新选择资源 ...

  2. python迅雷下载任务出错_迅雷下载时提示“任务出错”怎么办?小编教你(附多种解决方法)...

    迅雷可以说是目前国内最大的下载工具了,在使用迅雷下载文件的时候,有时候会出现下载任务出错,那么有哪些原因导致下载任务出错呢?应该怎么解决呢? 原因一:可能是下载的资源出现问题 解决办法:重新选择资源 ...

  3. 下载时提示缺少面板映像

    下载时提示缺少面板映像 下面是西门子官方指引 使用V15/V15.1/V15.1/V16下载精智(Comfort)系列屏的项目时有时会提示"由于缺少面板映像,下载失败.请安装缺少的面板映像& ...

  4. Google App Inventor下载地址

    Google模块化编程工具Google App Inventor让没有编程经验的人也能为Android操作系统设计应用程序.App Inventor是MIT(麻省理工大学)过去四十年研究成果的最新产物 ...

  5. 迅雷:下载时提示“文件创建失败,无法继续下载”的解决办法

    下载文件提示文件创建失败,无法继续下载. 文件创建失败因为保存目录直接在某个盘的根目录里了,这时候建一个文件夹保存就可以了. 将迅雷安装目录\Thunder\Profiles\Torrents里的CF ...

  6. Android的app inventor下载地址

    Android的app inventor出来了,传说中的"所见即所得",不过听说业界对这款软件批评不绝, 说这会导致大量的垃圾应用产生.说的也有道理,不过先看看效果吧,正在下呢,先 ...

  7. 百度云链接使用迅雷下载时提示有误的问题解决

    一般使用迅雷下载百度云的大文件需要安装插件,浏览器使用的是Chrome. 插件地址:https://chrome.google.com/webstore/detail/%E7%99%BE%E5%BA% ...

  8. 西门子HMI下载时提示缺少面板映像解决方案

    使用V16下载精智(Comfort)系列屏的项目时有时会提示"由于缺少面板映像,下载失败.请安装缺少的面板映像",造成上述异常的主要原因是V16的软件缺少对应的镜像文件. V16在 ...

  9. 解决百度网盘下载时提示本地文件写入失败的问题

    今天开通了百度会员,打算download点文件,一直提示本地文件写入失败 解决办法: 在百度网盘上使用右键超级管理会员权限打开,完美解决.

最新文章

  1. JavaScript初学者编程题(12)
  2. 解析深度学习:卷积神经网络原理与视觉实践
  3. 第十六届全国大学生智能车竞赛赛题规划
  4. 地址里面写转某快递会转吗_到付邮费骗局还在继续,合肥某公司中招!商标申请人要警惕!...
  5. [译]模型-视图-提供器 模式
  6. Pytorch——批标准化(层归一化)
  7. 科普写作与专业写作的区别
  8. Scrapy 爬虫开启debug调试
  9. java 特殊字符分割_java字符串分割处理split及特殊符号
  10. 离散数学——Euler 图与 Hamilton 图
  11. 【笔记】封神榜游戏设计VR
  12. 随机梯度下降法步长的选择
  13. 漫步微积分二十九——微积分基本定理
  14. SQL CheatSheet Joins
  15. 马化腾: 你想想不充钱能不能玩这游戏? 丁磊:你仔细想想不充钱能不能玩这游戏? 张栋:CNM我就问你不充钱能玩我运营的游戏吗?
  16. 物料称重管理系统灵活构建个性化应用场景
  17. 定义一个变量存储年份: int year = 2023;通过程序判断该年份是否为闰年,如果是闰年,则输出“闰年“否则输出“平年“
  18. 【NXP】LPC55S69初上手
  19. 【审批工作流camunda教程】(四):不使用camunda-modeler,使用Fluent Builder API,代码编写流程定义并部署
  20. 火狐怎么导入旧的火狐数据_火狐最酷的把戏

热门文章

  1. spring入门——如何实现包扫描
  2. Cpu消耗过高原因分析
  3. C++数字三角形问题
  4. [计算机通信网络]网桥(交换机)与其作用机理举例详解
  5. UG/NX10二次开发学习视频目录整理(NXOPEN制图篇)
  6. PDM和CAD集成应该谁去做?
  7. 几大分布:正态分布、卡方分布、t分布、F分布整理
  8. 跟我学flutter:Flutter雷达图表(一)如何使用kg_charts
  9. 什么是反向代理(代理服务器解释
  10. 2019年1月Android手机性能榜,安兔兔发布:2019年11月Android手机性能榜