解决适配Android9.0时出现相关v4/v7依赖报错的问题

创维E900V21盒子刷机实战:安卓9固件优化与鸿蒙架构解析 在嵌入式系统与智能硬件领域,固件刷写是赋予设备新生的关键技术。其原理在于通过底层引导程序(Bootloader)与设备建立通信,将经过优化的系统镜像写入存储芯片,从而替换原有操作系统。这项技术的核心价值在于突破厂商限制,释放硬件潜能,提升系统流畅度与应用兼容性。在智能电视盒子这类设备上,老旧设备常因原厂系统臃肿、功能受限而体验不佳,通过刷入定制固件可有效解决此问题。本文以创维E900V21系列盒子为例,深入探讨基于安卓9.0的深度定制固件,该固件集成了当贝桌面与乐家桌面,并优化了内存调度与GPU驱动,显著提 阅读详情

Android9.0适配

最近项目要适配到Android9.0,在此记录一下在升级时踩到的坑,首先我们升级Android9.0肯定先修改

compileSdkVersion和targetSdkVersion,修改为28,如图:

在AndroidManifest.xml下的<application>节点加入以下相关依赖(如果项目继续使用Apache的httpclient),这是因为httpclient在Android6.0就已经被废弃了,如果不想大变动我们可以将这个库强制依赖进来,避免报错。

       <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" />

同时在app目录下build.gradle的android节点加入httpclient依赖:

 useLibrary 'org.apache.http.legacy'

Android9.0官方要求中,禁止传输接收没加密的数据,也就是说对网络数据传输这一块做了限制,我们需要在AndroidManifest.xml中的<application>节点内加入网络安全配置,如图:

 <application     
        android:networkSecurityConfig="@xml/network_security_config"
        tools:replace="android:theme,android:allowBackup">

其中network_security_config.xml在xml目录如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

到此为止,适配Android9.0的基本适配完成,如果需要适配到刘海屏和电源管理蓝牙等的,需要额外相应适配,本文暂不涉及。

 

适配Android9.0后的坑

我们升级SDK编译版本和目标版本为28时,我们需要改动相应的依赖版本:

(1)com.android.support:appcompat-v7的版本,如果继续坚持使用与SDK不适配的版本,会提示红色错误提示,虽然能编译通过,但不保证是否会产生crash,所以我们需要去手动升级一下依赖版本,

升级完appcompat-v7后,结果报错了!!!

我们编译一下,看下通不通过。嗯...果然报错了,报错信息为

Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

AAPT2?这东西不是在2018年被废弃了么,而且我的Android studio版本为3.2.0,我特意去问了度娘,反馈说去是png资源检测没通过,要手动设置一下,去除掉PNG合法性检测,在build.gradle里的buildToolsVersion下面添加以下两句:

android {
    ...
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    ...
    }

          然后我再重新点击这一神奇的按钮,结果还是不行,好吧,嗯..........应该是编译工具版本不对,我应该去更新一下gradle的,所以我选择打开了project下的build.gradle,更新一下com.android.tools.build:gradle,

//原本是3.1.2,现在更新到3.2.1
classpath 'com.android.tools.build:gradle:3.2.1'

同时更新Gradle version的版本,对应版本为4.6:

            嗯,等同步完后,我又再次点击这一个神奇的按钮,结果又报错了,v7包依然是红色错误提示:

Error: Program type already present: android.support.v4.app.BackStackRecord$Op

再次请求度娘答案,得到这样的解决方案,把v4包页依赖进来,并且与v7包版本一致:

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation "com.android.support:design:28.0.0"
    implementation"com.android.support:cardview-v7:28.0.0"

最后,编译终于通过了,剩下的,就是因API改变导致App不兼容或者闪退的问题了。

 

结语

适配之路还有很长,就目前市场来说Android9.0的手机主要集中在中高端上,比如华为的mate20、小米mix2等,提前适配提前踩坑,才做好面对更多坑的准备。欢迎大家转发拍砖点赞收藏分享。
 

告别‘PIE’报错!手把手教你用Android.mk编译能在Android 6.0上运行的C程序 本文详细解析了Android NDK编译中常见的'PIE'报错问题,并提供了完整的Android.mk配置方案,帮助开发者在Android 6.0及以上系统成功编译和运行C/C++程序。通过实战示例和高级技巧,解决PIE兼容性问题,提升开发效率。 阅读详情

相关推荐

Gemma 4本地部署实战指南:手机/电脑/浏览器三端零失败配置

大语言模型本地化运行正从技术实验走向日常生产力工具,其核心在于模型轻量化、硬件适配性与运行时优化的深度协同。Gemma 4通过INT4量化、MoE稀疏激活和WebGPU原生支持,在保持强推理能力的同时显著降低内存与算力门槛。它不再依赖云端API,而是将JSON Schema输出、函数调用、多模态理解等能力直接编译进权重,实现开箱即用的智能体行为。在安卓手机、Windows笔记本及Chrome浏览器等主流终端上,Gemma 4已验证可稳定运行E2B、E4B及26B MoE等版本,兼顾隐私安全与响应速度。本文聚

weixin_34099526的博客 3211

Android报错

报错 1、android9.0使用volley进行网络请求 原因:Android 9.0是默认禁止所有http请求的,需要在代码中设置如以下代码才可以正常进行网络请求 2、java.lang.NoClassDefFoundError:failedresolutionof:Lorg/apache/http/ProtocolVersion 在AndroidManifest.xml文件的application标签里面加入 <uses-library android:name="org.apache.htt

qq_43345601的博客 1426

烽火HG680-LC线刷教程:晶晨S905L3盒子maskrom救砖刷安卓9.0

智能电视盒子刷机是解决运营商定制系统臃肿、广告多、权限受限的有效手段。线刷不同于卡刷,它通过USB直接与芯片底层引导程序通信,不依赖盒内现有系统状态,即便设备已变砖、卡Logo或无限重启,只要能进入maskrom模式,就能从底层彻底重写系统。晶晨S905L3芯片方案成熟、公开,配合USB_Burning_Tool工具和短接操作,可完整擦除原厂定制层,刷入纯净的安卓9.0固件,大幅提升流畅度并去除启动广告。这种刷机方式广泛应用于电视盒子救砖、解锁硬件性能及个性化定制场景。本文以烽火HG680-LC为例,从驱动

weixin_34277853的博客 217

android支持包com.android.support:support-v4 依赖树,便于分析类冲突问题

执行如下依赖分析指令可以打印依赖树。

zhanghao_Hulk的专栏 1151

解决依赖库错误:无法解析 com.android.support:support-v4 的问题

本文介绍了几种常见的解决方法,来解决在构建Android项目时出现无法解析 com.android.support:support-v4 的错误。首先,在您的项目的 build.gradle 文件中,找到 dependencies 部分。在您的项目的 build.gradle 文件中,确保您已经使用了最新版本的 AndroidX 库。您可以根据您的项目需要,选择合适的版本号进行更新。在所有的 Java 文件中,将原始的 support-v4 引入改为对应的 AndroidX 库引入。

ByteSparkX的博客 2917

解决Android Support库的依赖冲突

例如,如果我们在项目中同时使用了support-v4和appcompat-v7库,那么它们的版本号应该是一致的。通过使用最新版本的Support库,我们可以避免已知的依赖冲突问题,并获得最佳的支持。为了避免依赖冲突,我们应该了解Support库的版本规则,并尽量使用最新版本的Support库。例如,假设我们在项目中同时使用了support-v4库和另一个库A,而库A也依赖于support-v4库的旧版本。关键字,我们排除了库A对旧版本support-v4库的依赖,而使用了我们指定的28.0.0版本。

PixelDyno的博客 421

引入SlidingMenu出现implementation 'com.android.support:support-v4:28.0.0'

需要在app的gradle里面添加一行 implementation 'com.android.support:support-v4:27.1.1'

lianghao的博客 1万+

跨平台GDAL版本库构建实战:Windows/Linux/Android全攻略

在GIS应用开发中,GDAL作为栅格与矢量数据处理的事实标准,其跨平台编译与集成往往是工程化的关键难点。面对Windows、Linux及Android等多目标环境,开发者不仅需要理解GDAL自身的构建机制,还需掌握CMake、NDK等工具链的交叉配置,以及openssl、proj、geos等依赖库的版本匹配与编译顺序。合理的版本库规划能显著提升交付效率,避免因平台差异导致的链接错误、运行时崩溃等问题。从桌面端服务到移动端边缘设备,一套可复用的构建脚本和依赖管理策略,能够帮助团队快速输出稳定、统一的GDAL版

weixin_30607659的博客 395

Vuetify 4.2 月度更新全解读:Select 家族交互升级、@vuetify/v0 运行时依赖与 Sass 变量清理

**2026 年 8 月的核心是 Vuetify 4.2 版本的发布**:框架代码库合并了 33 个 PR,发布 8 个版本,其中最引人注目的变化是自 4.2 起 `vuetify` 将 `@vuetify/v0` 作为运行时依赖引入。本文基于仓库内 [august-2026-update.md](https://link.gitcode.com/i/a9e5a7c873482a050d96bbd

gitblog_00211的博客 679

博途V16 HSP0205安装失败解决方案与1024×768 HMI适配实践

博途(TIA Portal)是西门子工业自动化核心开发平台,其硬件支持包(HSP)安装失败、HMI多屏适配困难、变量监控延迟高等问题长期困扰现场工程师。根本原因在于HSP安装器与.NET Framework 4.8运行时存在底层调用冲突,且官方未提供针对老旧工控机和混合分辨率设备的工程化适配方案。技术价值体现在将不可控的GUI安装过程重构为可追溯的静默部署流程,并通过锚点布局+比例约束+动态字体缩放实现跨设备HMI一致性。典型应用场景包括无网络产线快速恢复、S7-1200/1500现场调试、KTP系列触摸屏

weixin_34290631的博客 442

网格聚类 Grid Clustering/Grid-based Clustering

本文主要简单介绍了网格聚类的基本概念,优缺点,应用场景,建模时的注意事项,评价指标,实现方法,python示例和模型参数等。

JasonH2021的博客 4827

Android P 适配

Android P (9.0)(API 28) 适配 最近将我们项目的targetSdkVersion升到28了,由于是从Android O (26)升到Android P(28)遇到的问题不算多,下面是一些需要适配的问题,后面遇到其他问题再补充: 一、适配,首先更改 build.gradle,我这边的更改如下: android { compileSdkVersion 28 bui...

Bill的专栏 739

从TL431光耦到集成隔离器:3种反激电源反馈方案全对比,你的项目到底该选哪个?

本文深入对比了反激电源设计中TL431光耦、集成隔离器和原边反馈三种主流反馈方案的优缺点,帮助开发者在电源设计中选择最适合的方案。从精度、成本、隔离等级等多维度分析,为反激式(Flyback)拓扑的应用提供实用选型指南。

weixin_30536513的博客 399

安卓4老电视/盒子输入法失效?ADB排查与安装实战指南

在安卓系统中,输入法通过IME框架与系统交互,用户能否正常打字取决于输入法是否被系统识别、启用并设为默认。安卓4老电视和盒子常因厂商裁剪、默认输入法未配置或第三方APK兼容性问题,导致搜索框无法唤出键盘。解决这类问题通常不需要刷机,而是借助ADB调试工具检查系统已安装的输入法列表,再通过应用商店、U盘或ADB命令完成安装与默认设置。从系统设置入口到IME服务状态验证,掌握基础的ADB命令和APK兼容性判断,能为老设备维护提供高效的排查路径。本文给出的完整流程,覆盖从环境准备到批量部署的各个环节,适用于家用老

weixin_33816821的博客 405

win2016 php mysql_Windows Server 2016 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程 | 系统运维...

准备篇一、环境说明:操作系统:Windows Server 2016PHP版本:php 7.1.0MySQL版本:MySQL 5.7.17.0二、相关软件下载:1、PHP下载地址:2、MySQL下载地址:3、Microsoft Visual C++ 2010 可再发行组件包(安装MySQL需要此插件)4、Visual C++ Redistributable for Visual Studio 20...

weixin_34794420的博客 1377

【电机应用控制】——步进电机控制原理(四相五线/两相四线/细分驱动)&驱动器&梯形/S形加减速算法&直线/圆弧插补

步进电机是一种把电脉冲信号转换为角位移(左)或线位移(右)的电动机。两相通常1.8°,三相通常1.2°、无相通常0.72°,角位移=脉冲个数X步距角。在非超载且不超频的情况下,电机的旋转位置只取决于脉冲个数,转速只取决脉冲信号的频率。所以只需要统计脉冲个数和频率,不再需要编码器测速和位置,具有优秀的开环能力,当然也可接编码器反馈速度和位置数据,实现更加精准的闭环控制。永磁式动态性能好,输出力矩大,但步距角大通常7.5°;反应式(磁阻式)结构简单成本低,步距角小一般1.2°,但振动噪音大动态性能差;

weixin_51658186的博客 5万+

Valdi 中的 V8 引擎集成:构建配置、Bazel 打包与 JavaScript 运行时适配

本文以 Valdi 仓库中 `third-party/v8/` 目录为核心,系统讲解 Valdi 如何将 Google V8 JavaScript 引擎以静态库形式集成进跨平台 UI 框架:从上游源码快照的选取、macOS arm64 构建参数的逐项解读,到 Bazel 多平台静态库打包规则,再到 `valdi/src/valdi/v8/` 中基于 V8 实现统一 JavaScript 运行时接口

gitblog_00639的博客 957

初探802.11协议(6)——Wi-Fi 6新特性简介

Wi-Fi 6新机制(特性)介绍

FanFF的博客 1522

UE4.27安卓打包全流程实战:从环境配置到疑难排错

移动应用开发中,跨平台打包是将代码与资源编译、链接并封装为可在目标设备上运行的安装包的关键环节。其核心原理在于通过构建工具链(如Gradle)协调编译器、SDK和项目配置,生成符合目标平台规范的二进制文件。这一过程的技术价值在于确保了应用的功能完整性与性能表现,是产品上线的必经之路。在游戏开发领域,使用虚幻引擎(UE4)进行安卓打包是常见的应用场景,它涉及复杂的**环境配置**与**编译工具链**协作。开发者常面临SDK版本不匹配、NDK兼容性、Gradle依赖冲突等挑战,导致打包失败或应用闪退。本文聚焦U

weixin_33946020的博客 424

SAP RAP 校验全流程:从 EML 读取到消息上屏与阻止落库

本文系统梳理了 SAP ABAP RAP 中的校验流程(The Validation Process),结合 Airline/Connection 案例,详细讲解了三类核心校验:语义键唯一性、外键有效性和字段间一致性。文章覆盖了 EML 的 READ ENTITIES 操作、reported-* 与 failed-* 结构的使用方法、消息创建与字段绑定技巧,以及处理草稿数据时的 UNION 查询策略。通过代码示例演示了如何实现校验逻辑、生成错误消息并阻止无效数据持久化,同时提供了常见问题的排查建议。全文注重

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 332

AgentScope实战训练营:构建计划可视化管理和HITL的AI智能计划助手

本文基于AgentScope Java SDK和Spring Boot WebFlux,从零构建一个支持SSE流式对话、计划可视化管理和HITL的AI智能计划助手Web应用PlanNotebook。涵盖项目架构设计、ReActAgent初始化、自定义工具注册、Hook机制实现、SSE事件协议定义、前端流式渲染等核心技术点,提供完整可运行的代码示例和详细的REST API参考。

program哲学 397

魔百盒B863AV3.2-M与E900V22C救砖刷机:三型号通用安卓9.0线刷全攻略

智能电视盒子在使用中常因系统崩溃或分区损坏而卡在开机界面,甚至彻底黑屏,此时需要借助底层线刷协议进行救砖。晶晨Amlogic芯片方案支持通过USB Burning Tool与芯片引导ROM通信,在eMMC完全损坏时也能强制写入完整固件。本文涉及的魔百盒B863AV3.2-M、B863AV3.1-M2及创维E900V22C三款机型硬件高度同源,可通过同一安卓9.0通刷固件恢复系统并完成系统升级。从驱动安装、固件校验到短接点定位,再到常见报错排查,提供一套可复用的救砖刷机流程,适用于卡logo、无限重启、黑屏等

weixin_34236869的博客 396

【STK】手把手教你利用STK进行覆盖分析05-方位覆盖分析、覆盖网络检查工具和单对象覆盖分析

这一篇是我们STK覆盖模块的理论部分的最后一篇文章,之后会找尽可能多的论文来复现论文中关于STK覆盖模块的仿真的部分,到时候大家遇到不会的就可以结合前面的理论部分来看。

weixin_44184852的博客 1493

Happy App 的 Expo SDK 55 升级实战指南:从 SDK 54 / RN 0.81 到 SDK 55 / RN 0.83 的完整迁移路径

本篇指南以 happy 仓库中的 [Expo SDK 55 升级计划文档](https://link.gitcode.com/i/a2dd36ded2f7a975090924bbe0adf0a9) 为核心骨架,结合 [happy-app](https://link.gitcode.com/i/f30a51816051a9d7260c2562040d1011) 的真实依赖快照与源码现状,系统讲解一个

gitblog_00598的博客 1067

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

VB摄像头监控

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

Folo Mobile v0.4.1 发布全解析:iPad 布局适配、iOS 订阅管理简化与滚动已读时序修复

Folo(`@follow/mobile`)是「AI RSS 阅读器」的跨端移动客户端,基于 Expo / React Native 构建。本文以仓库内发布的 v0.4.1 变更记录([apps/mobile/changelog/0.4.1.md](https://gitcode.com/GitHub_Trending/fol/follow/blob/07dd7e27ab70e51a5a5f68f

gitblog_00982的博客 854

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Unity遇坑记之 安卓包内打开apk覆盖更新(读取应用数据的方法)

适配安卓7.0以上,java层读取应用数据目录下的方法;安卓8.0以上,添加应用允许安装未知来源apk的权限。 最近各大市场开始要求将安卓的api等级设置成28,即需要我们开发者完成适配。 对于unity这种非纯安卓的app,涉及到的升级改动可以说非常的少,一般只需要改改一些配置即可~ 好吧,升级~,把AndroidManifest.xml中的targetSdkVersion改为28~完...

岁月相伴 1356

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 模仿Android系统Settings跨应用数据共享
下一篇: Android开发:一步让你代码质量提升的MVP模式
JosonChou
博客等级 码龄11年 8粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值