Android 7.0新特性

MAX31865模块温度测量 本文主要介绍MAX31865 测温注意事项,并写出读取温度的示例代码,模块详细参数可以查阅相关手册, 阅读详情

Android 7.0新特性

Android: 7.0 行为


移除三项隐式广播

Android 7.0 移除了三项隐式广播

  • CONNECTIVITY_ACTION
  • ACTION_NEW_PICTURE
  • ACTION_NEW_VIDEO

为缓解这些问题,Android 7.0 应用了以下优化措施:

面向 Android 7.0 开发的应用不会收到 CONNECTIVITY_ACTION 广播,即使它们已有清单条目来请求接受这些事件的通知。在前台运行的应用如果使用 BroadcastReceiver 请求接收通知,则仍可以在主线程中侦听 CONNECTIVITY_CHANGE。
应用无法发送或接收 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO 广播。此项优化会影响所有应用,而不仅仅是面向 Android 7.0 的应用。

如果您的应用使用任何 intent,您仍需要尽快移除它们的依赖关系,以正确适配 Android 7.0 设备。Android 框架提供多个解决方案来缓解对这些隐式广播的需求。例如,JobScheduler API 提供了一个稳健可靠的机制来安排满足指定条件(例如连入无限流量网络)时所执行的网络操作。您甚至可以使用 JobScheduler 来适应内容提供程序变化。


使用APK signature scheme v2

Android 7.0(Nougat)引入一项新的应用签名方案APK Signature Scheme v2,它是一个对全文件进行签名的方案,能提供更快的应用安装时间、对未授权APK文件的更改提供更多保护,在默认情况下,Android Gradle 2.2.0插件会使用APK Signature Scheme v2和传统签名方案来签署你的应用。

禁用方法
signingConfigs {
      release {
        v2SigningEnabled false
      }
    }
美团V2新方案 介绍

传送门:新一代开源Android渠道包生成工具Walle

美团的新的解决方案无法兼容以前的版本

通过对生成渠道号的Apk重新进行签名也是一种解决问题的思路, 只不过打包速度会因为签名,4s一个,对于我来说还是可以接受的
文后附Python源文件。感谢美团提供的思路。

JobScheduler API

  • Linked https://developer.android.com/reference/android/app/job/JobScheduler.html

  • JobInfo: 任务数据封装

  • JobInfo.Builder JobInfo: 建造者
  • JobInfo.TriggerContentUri : 触发条件
  • JobParameters : 任务配置参数
  • JobScheduler : 应用进程处理JobInfo的调度者
  • JobService : 重写onStartJob(JobParameters) 实现自己的业务, 回到方法在主线程,需要异步线程去处理。否则会阻塞onStopJob的调用;

系统权限更改

为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问 (0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。此权限更改有多重副作用:

  • 私有文件的文件权限不应再由所有者放宽,为使用 MODE_WORLD_READABLE 和/或 MODE_WORLD_WRITEABLE 而进行的此类尝试将触发 SecurityException。
  • 传递软件包网域外的 file:// URI 可能给接收器留下无法访问的路径。因此,尝试传递 file:// URI 会触发 FileUriExposedException。分享私有文件内容的推荐方法是使用 FileProvider。
  • DownloadManager 不再按文件名分享私人存储的文件。旧版应用在访问 COLUMN_LOCAL_FILENAME 时可能出现无法访问的路径。面向 Android 7.0 或更高版本的应用在尝试访问 COLUMN_LOCAL_FILENAME 时会触发 SecurityException。通过使用 DownloadManager.Request.setDestinationInExternalFilesDir() 或 DownloadManager.Request.setDestinationInExternalPublicDir() 将下载位置设置为公共位置的旧版应用仍可以访问 COLUMN_LOCAL_FILENAME 中的路径,但是我们强烈反对使用这种方法。对于由 DownloadManager 公开的文件,首选的访问方式是使用ContentResolver.openFileDescriptor()。

文件应用之间共享文件异常

对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在您的应用外部公开 file:// URI。如果一项包含文件 URI 的 intent 离开您的应用,则应用出现故障,并出现 FileUriExposedException 异常。

要在应用间共享文件,您应发送一项 content:// URI,并授予 URI 临时访问权限。进行此授权的最简单方式是使用 FileProvider 类。如需了解有关权限和共享文件的详细信息,请参阅共享文件。


NDK应用链接至平台库

如果您的应用使用动态链接到私有平台 API 的第三方库,您可能也会看到上述 logcat 输出。利用 Android 7.0DK 中的 readelf 工具,您可以通过运行以下命令生成给定 .so 文件的所有动态链接的共享库列表:

更新您的应用

通过下面的一些步骤,您可以修复上述类型的错误并确保您的应用不会在将来的更新版平台上崩溃:

如果您的应用使用私有平台库,您应更新它,以添加该应用自己的库副本或使用公开 NDK API。
如果您的应用使用访问私有符号的第三方库,则联系库作者以更新库。
请确保将您的所有非 NDK 库与您的 APK 打包在一起。
使用标准 JNI 函数而非来自 libandroid_runtime.so 的 getJavaVM 和 getJNIEnv:

AndroidRuntime::getJavaVM -> GetJavaVM from <jni.h>
AndroidRuntime::getJNIEnv -> JavaVM::GetEnv or
JavaVM::AttachCurrentThread from <jni.h>.

使用 __system_property_get 而非来自 libcutils.so 的私有 property_get 符号。为此,请使用 __system_property_get 及以下 include 函数:

#include <sys/system_properties.h>

注:系统属性的可用性和内容未通过 CTS 进行测试。应执行进一步修复以避免同时使用这些属性。
使用来自 libcrypto.so 的 SSL_ctrl 符号的本地版本。例如,您应在您的 .so 文件中静态链接 libcyrpto.a,或从 BoringSSL/OpenSSL 添加一个动态链接的 libcrypto.so 版本,并将其打包到您的 APK 中。

#!/usr/bin/python
# coding=utf-8
import zipfile
import shutil
import os

# 空文件 便于写入此空文件到apk包中作为channel文件
src_empty_file = 'info/czt.txt'
# 创建一个空文件(不存在则创建)
f = open(src_empty_file, 'w') 
f.close()

# 获取当前目录中所有的apk源包
src_apks = []
# python3 : os.listdir()即可,这里使用兼容Python2的os.listdir('.')
for file in os.listdir('.'):
    if os.path.isfile(file):
        extension = os.path.splitext(file)[1][1:]
        if extension in 'apk':
            src_apks.append(file)

# 获取渠道列表
channel_file = 'info/channel.txt'
f = open(channel_file)
lines = f.readlines()
f.close()

for src_apk in src_apks:
    # file name (with extension)
    src_apk_file_name = os.path.basename(src_apk)
    # 分割文件名与后缀
    temp_list = os.path.splitext(src_apk_file_name)
    # name without extension
    src_apk_name = temp_list[0]
    # 后缀名,包含.   例如: ".apk "
    src_apk_extension = temp_list[1]

    # 创建生成目录,与文件名相关
    output_dir = 'output_' + src_apk_name + '/'
    # 目录不存在则创建
    if not os.path.exists(output_dir):
        os.mkdir(output_dir)

    # 遍历渠道号并创建对应渠道号的apk文件
    for line in lines:
        # 获取当前渠道号,因为从渠道文件中获得带有\n,所有strip一下
        target_channel = line.strip()
        # 拼接对应渠道号的apk
        target_apk = output_dir + src_apk_name + "-" + target_channel + src_apk_extension  
        # 拷贝建立新apk
        shutil.copy(src_apk,  target_apk)
        # zip获取新建立的apk文件
        zipped = zipfile.ZipFile(target_apk, 'a', zipfile.ZIP_DEFLATED)
        # 初始化渠道信息
        empty_channel_file = "META-INF/cztchannel_{channel}".format(channel = target_channel)
        # 写入渠道信息
        zipped.write(src_empty_file, empty_channel_file)
        # 关闭zip流
        zipped.close()
        # keyPublish.jks 是你密钥, pass是密码
        cmd = 'apksigner sign --ks keyPublish.jks --ks-pass pass:123456 ' + target_apk;
        p = os.system(cmd)
        if (p == 0):
            print('打包成功!')
        else 
            print(p)
Python 爬虫进阶:爬取 APP 数据(Charles 抓包 + Requests) 本文详细介绍了APP数据爬取的完整技术方案。首先通过Charles抓包工具配置HTTPS代理和证书,解析APP通信协议;然后分析请求参数、反爬机制和动态签名生成规则;接着使用Python的Requests库实现模拟请求、分页爬取和数据存储;最后针对证书问题、Token失效等常见问题提供解决方案。文章强调抓包分析、参数逆向和请求模拟三大核心技术,同时提醒开发者需遵守法律法规,合理控制爬取频率。该方案适用于移动端数据采集场景,为无法直接获取网页数据的情况提供了有效解决方案。 阅读详情

相关推荐

SAP ERPsim生产拓展实验报告

ERP课的实验和实践,也是SAP竞赛玩的东西,除了界面不华丽外很像游戏而且是团队型的pvp大乱斗

m0_67262022的博客 2020

深度了解Android 7.0 ,你准备好了吗?

8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0还新增了分屏、新的Notification、VR支持等新特性。 8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,他们还会三个月一次推送开发版,而曝光的消息看,第一个开发版就是Android 7.1,

夜流觞 1036

Zynq7000双核裸机开发实战:如何安全实现共享内存与乒乓RAM设计

本文深入探讨了Zynq7000双核裸机开发中的共享内存与乒乓RAM设计,重点解析了核间通信的Cache一致性处理机制和硬件级实现方案。通过实战代码示例和性能优化技巧,帮助开发者解决双核运行中的访问冲突问题,提升嵌入式系统开发效率。

weixin_29191669的博客 375

Android7.0新特性

在 Android N 中,添加了 Just in Time (JIT) 编译器,它可以对 ART 进行代码分析,让它在应用运行时能够持续提升 Android 应用的性能。JIT 编译器对 Android 运行组件当前的 Ahead of Time (AOT) 编译器进行了补充,有助于提升系统运行时的性能,节省存储空间,加快应用更新和系统更新速度。此功能对于低内存设备非常有意义。启用该模式,系统将拦截后台数据使用,在适当的情况下减少前台应用使用的数据量,通过配置厂商白名单可以让应用免受该模式的影响。

m0_65909361的博客 1213

学好超几何分布的核心公式,破解双色球!

彩票本质是概率游戏,不存在"必中公式"科学投注的核心是风险收益比管理长期投注的期望值始终为负(理论回报率约47%-63%)数学维度:运用概率工具优化策略经济维度:控制投注成本在可承受范围人文维度:将彩票视为社会公益的参与方式通过本文构建的数学模型,彩民可以在概率框架内实现更理性的投注决策。但最终能否收获幸运,仍取决于那个永恒的未知数——概率女神的眷顾。一、超几何分布的核心公式。

weixin_44904675的博客 1万+

error C2039: “int_least8_t”: 不是“`global namespace'”的成员

在向H.265的测试软件HM16.0中配置boost的时候,发现 include &lt;boost/cstdint.hpp&gt;的时候总是会报错:错误 11 error C2039: “int_fast16_t”: 不是“`global namespace'”的成员 D:\Program Files\Caffe\VSContact\boost_1_58_0\boost\cstdint.hpp ...

flyerene的博客 1万+

Android N for Developers

Android N 仍处于活动的开发状态,但现在您可以将其作为 N Developer Preview 的一部分进行试用。 以下部分重点介绍面向开发者的一些新功能。 请务必查阅行为变更以了解平台变更可能影响您的应用的领域,看看开发者指南,了解有关关键功能的更多信息,并下载 API 参考以获取新 API 的详细信息。 多窗口支持 在 Android N 中,我们为该平台引入了一

大黑 1580

RC滤波电路实战解析:无源与有源设计的性能对比与应用选择

本文深入解析了RC滤波电路的核心原理,重点对比了无源滤波电路与有源滤波电路的性能差异。文章通过实测波形与仿真数据,详细阐述了两者在带载能力、频率响应精度、噪声特性等方面的优劣,并提供了清晰的应用选择指南,帮助工程师根据信号属性、负载条件和性能要求做出最优设计决策。

weixin_29268637的博客 429

Android5.0,6.0,7.0新特性整理

背景 概述内容 Android 50新特性 1 Material Design 2支持多种设备 3全新通知中心设计 4支持64位ART虚拟机 5 Project Volta电池续航改进计划 6全新的最近应用程序 7改进安全性 8不同数据独立保存 9改进搜索 10支持蓝牙41USB Audio多人分享等其它特性 Android 60 新特性 1动态权限管理 11受影响的权限 12请求权限 13权

贵宝的博客 1万+

Python邮件自动化实战:基于imaplib和email库的高效邮件管理方案

本文详细介绍了如何使用Python的imaplib和email库实现高效邮件自动化管理。通过实战案例展示自动收取、解析邮件、下载附件等核心功能,帮助开发者快速构建企业级邮件处理系统,大幅提升工作效率。特别适合需要处理大量邮件的金融、数据分析等场景。

weixin_30500105的博客 618

《无线传感网络 matlab》:从入门到实践

这就是如何使用Matlab建立一个简单的无线传感网络并进行仿真的方法。当然,这只是一个入门级的示例,真正的无线传感网络可能会更加复杂和庞大。首先,我们需要创建一个无线传感网络的基础结构。接下来,我们需要定义一个数据包的格式,以便节点之间可以交换信息。无线传感网络是一种由无线传感器节点组成的、自组织的网络。现在,我们可以开始编写节点代码了。我们将使用Matlab提供的工具箱来构建一个简单的无线传感网络,并对其进行仿真和分析。现在,我们可以将这个节点复制9次,以创建一个包含10个节点的无线传感网络。

NoerrorCode的博客 296

Android7.0新特性,及Android N适配

新特性部分Android 7.0 Nougat 提供新功能以提升性能、生产效率和安全性,主要新增了以下的新特性和优化:一、新的NotificationAndroid N 增加了许多新的notifications API,进行了重新的设计,引入了新的风格。 模板更新: 开发者将能够充分利用新模板,只需进行少量的代码调整。 消息样式自定义: 新增自定义样式、消息回复、消息分组等更加灵活。

WILLIAM-HUAN 个人技术博客 9874

【Bug已解决】codex: conversation context window exceeded / Token limit reached — CodeX CLI 上下文窗口超限解决方案

CodeX CLI 上下文窗口超限(context_length_exceeded)的解决方案,含开新会话、更大窗口模型、精简提示与限制工具输出。

博客 4180

三星android7.0新特性,三星Galaxy S7升级安卓7.0牛轧糖新特性:分辨率可调

拼 命 加 载 中 ...谷歌的安卓系统已经占了全球智能手机系统大约90%的市场了,但有个问题是iOS屡次调侃安卓而无不爽的,那就是安卓系统新版本的普及率,苹果iOS10系统安装率都超过60%了,安卓7.0连1%的普及率都没,实在汗颜。安卓碎片化是个老问题了,厂商不升级有主观也有客观原因,消费者能做的只能是挑选个在系统升级上良心的厂商。在系统升级上,三星还算好点的,目前GalaxyS7、S7 ed...

weixin_35926197的博客 488

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android 7.0版本特性,android7.0新特性有哪些

android7.0新特性有哪些?安卓7.0都更新了什么?近日,谷歌官方放出了最新安卓系统android 7.0预览版的功能,自苹果推出了ios9.3之后,安卓也推出了系统更新,那么android 7.0新特性有哪些?android 7.0都更新了什么?让小编带着大家看看吧!android 7.0新特性有哪些?android 7.0都更新了什么?如下:- 全新的3D渲染API——Vulkan,...

weixin_33443333的博客 284

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android 7.0对比Android6.0新特性

下载了Android6.0和Android7.0的官方文档,比较了下两个版本的不同,主要介绍下android7.0比android6.0增加的新特性,只说增加的,已有的不会说。 由于本人水平有限,本文质量不会太高,翻译的也很抠脚,见谅1、Widgets应该在两个经常使用的app中加入一个快速切换的功能,按下“最近使用”按钮两次。 如果支持多窗口模式,就在“最近使用”按钮长按2、Multi-win

辰若寒的博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android+6.0点击效果,安卓5.1-6.0体验7.0新特性shortcuts功能

安卓5.1-6.0体验7.0新特性shortcuts功能2017-06-19 11:30:558点赞43收藏25评论虽说现在安卓8.0都已经出了,但是用上7.0的值友应该也不是很多,加上国内厂商的“优化”,7.0的不少新特性要么早在5.0-6.0时代就体验过,要么就被砍了。这次来讲讲Android 7.0的新特性:shortcuts。顾名思义就是一个快捷键功能,效果如下图其实这个功能大家在Ipho...

weixin_32645721的博客 421

android 7新功能,Android 7.0有哪些新功能 Android 7.0新特性汇总

今天凌晨,谷歌正式发布了Android 7.0预览版。从体验来看,Android 7.0高流畅性与分屏功能令人印象深刻。那么,Android 7.0有哪些新功能?下面本文就来简单汇总一下Android 7.0新特性汇总,抢先了解下吧。Android 7.01、分屏多任务其实这个功能,之前不少厂商已经做了,而谷歌终于让7.0原生支持了它,从实际体验来看,户点击多任务按键后,长按其中一个应用,将其拖拽...

weixin_33598481的博客 645

Android5.0 6.0 7.0新特性

Android5.0新特性: 1.代号为Lollipop(棒棒糖),采用了Google最新推行的Material Design设计语言,用户切换activity时,有无缝的过度位移动画. 2.运行机制改为更新的ART。相比Dalvik,ART的处理机制完全不同,它会在应用程序安装时就把程序代码转换成机器语言,让程序成为真正的本地应用。这样做的好处是程序的启动时间被极大的提高,运行速度也

MonaZhou的博客 4580

android 7.0新特性,新功能,GMS4.0新特性

Android7.0新特性、新功能  基本概念 1:  Google Duo     Google Duo:Google Duo是一款视频通话工具应用APP,Google Duo是Allo视频辅助技术,即使网速不快也能流畅通话 2:  GMS     GMS:全称为Google Mobile Service,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Andr

qq_30427341的博客 8546

Android 7.0新特性,深入了解Android7.0

2016年8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0还新增了分屏、新的Notification、VR支持等新特性。8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,

ITtraveler的专栏 1710

安卓7.0已知新特性汇总

进入后台多任务管理页面,然后按住其中一个卡片,然后向上拖动至顶部即可开启分屏多任务,支持上下分栏和左右分栏,允许拖动中间的分割线调整两个APP所占的比例。 就在很多人翘首以待I/O2016开发者大会上见到Android 7.0真身之时,谷歌却在今天为安卓粉丝们送上了一份意外惊喜。Android N的首个开发者预览版携分屏多任务、强化版通知/工具栏、夜间模式、更好的Doze休眠机制

CC 1099

android7.0新特性 tv,英伟达为SHIELD TV升级安卓7.0 旧款用户可以升级

【TechWeb报道】黄仁勋在今年的CES 2017展会上发布了第二代神盾机顶盒,支持4K超清分辨率,全新设计的手柄,更完善的云串流功能以及搭载自主研发的芯片,让第二代神盾机顶盒成为了目前性能最强的安卓机顶盒,而现在英伟达对2015年发布的第一代产品进行了大规模系统更新,版本号为Software Upgrade 5.0.2,内核升级为安卓7.0,并有大量新功能。虽然英伟达NVIDIA的SHIELD...

weixin_42651887的博客 1058

Android7.0新特性、新功能

这里写链接内容

qq_孤小狼的博客 266
上一篇: Android特殊字体引入,以及描边和投影
下一篇: Reactive Programming with RxJava,介绍一本书和Rx
PirateBrook
博客等级 码龄11年 90粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值