提问之前
- 你是否在谷歌/百度/论坛上搜索过?
- 你是否查过手册/文档?
- 你是否阅读过源码?
正确提问
- 你想做什么?遇到了什么问题?你做过什么?尝试过什么解决方案?结果是什么?
- 附上log,代码等
Ps:提供越多有效信息,越能得到帮助
错误提问
- 有大佬在吗?有人在吗?有人会吗?有人懂吗?
- 这个怎么解决?为什么会出现这个?这是怎麽回事?有没有人帮我解决这个问题?
Ps:大家都忙,请尊重彼此的时间
select * from learn
刚开始弄NexT主题的时候,一直都是用不蒜子的统计,但是不蒜子统计的内容太过简单了,不能够看到其他的一些数据,最近把友盟的统计给加上了。
友盟+ 传送门:https://passport.umeng.com/login?appId=cnzz
登录之后,选择右上角的添加站点,配置好你的站点信息
在 MacOS iPhone iPad 上面设置可能有差别,但是关键参数如下。
以Mac OS为例,打开设置,前往互联网账户,添加其他账户,邮件账户,按自己的阿里邮箱,或者你们公司给你的以你们公司名后缀结束的邮箱(其实还是阿里邮箱),填写邮箱密码。
接着选择账户类型:pop
收件服务器:pop3.aliyun.com
发件服务器:smtp.aliyun.com
国内从去年开始就有消息说,应用上架或者更新要求TargetSdkVersion最低要为26以上,也就是最低也要适配到8.0。今年来也都逐步地开始落实。
小米应用商店公告 | Google Play的要求 |
---|---|
![]() |
![]() |
还包括从8月份开始在Google Play上发布的应用必须支持64位架构。可以看到适配工作真的不能像以前一样随心所欲了。
将我们项目中的targetSdkVersion
改为 26(8.0) 或者 27(8.1),记住不要超过27,毕竟我还没有告诉你Android P怎么适配(滑稽)。
首先引用官方的原文。
在 Android 8.0 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。
对于针对 Android 8.0 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。
例如,假设某个应用在其清单中列出READ_EXTERNAL_STORAGE
和WRITE_EXTERNAL_STORAGE
。应用请求READ_EXTERNAL_STORAGE
,并且用户授予了该权限。如果该应用针对的是 API 级别 24 或更低级别,系统还会同时授予WRITE_EXTERNAL_STORAGE
,因为该权限也属于同一 STORAGE 权限组并且也在清单中注册过。如果该应用针对的是 Android 8.0,则系统此时仅会授予READ_EXTERNAL_STORAGE
;不过,如果该应用后来又请求WRITE_EXTERNAL_STORAGE
,则系统会立即授予该权限,而不会提示用户。
我们的App通常会有检查更新的功能。用户在收到提示更新并且下载完后,会自动打开安装页面让用户来去安装。这时就会出现安装错误的问题,这类的问题的可能性比较多。比如较低版本的App想要覆盖已有的较高版本App会提示安装未完成,或是签名不一致导致的。不过7.0上常见的有以下两种情况。
在targetSdkVersion大于等于的24的App中,但是我们没有去适配7.0。那么在调用安装页面,或修改用户头像操作时,就会失败。那么就需要你去适配7.0或是将targetSdkVersion改为24以下(不推荐)。适配的方法这里就不细讲,大家可以看鸿洋大神的 Android 7.0 行为变更 通过FileProvider在应用间共享文件 这篇文章。
Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。详细看安卓官方说明。
简单地说就是任何方式的篡改APK 文件,在利用了V2签名的apk上会失效。