fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

打开旧的项目依旧经典,但是会有很多的方法和常量过期。这个时候就考研我们平时踩的坑的质量和数量了,共同进步吧。

 

1、fastjson报错解决

 

贴一下git上面已经有人提出的问题和解决的办法:https://github.com/wangdan/AisenWeiBo/issues/9

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

在build.gradle(Moudle-library-orm)文件下添加依赖:api ‘com.alibaba:fastjson:1.2.8’

以及如果你的项目中引用了其他的Module 也需要在module中添加 fastjson 的依赖

 

2、第三方类库都在build.gradle中配置好了,但是还是会报 Apache相关类的包不存在,出现一系列的问题,且在compile或implementation中找不到Http的库。 

在build.gradle中 android 项下添加一行代码

useLibrary ‘org.apache.http.legacy’

注:Android6.0之后,SDK就不再支持HTTPClient,仅保留了几个类,推荐使用HTTPURLConnection类,因为他可以通过透明压缩和响应减少网络的使用并最大限度的降低电量功耗。如果仍需使用的Http的话,需要在build.gradle中添加引用,声明依赖项`(来自官方API)

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

Module中或许有引用Apache,也会出现Apache相关包丢失的问题

 

3、编译成功的时候有报错 是AndroidManifest

Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 14 declared in library [com.android.support:support-v4:28.0.0] C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\support-v4-28.0.0.aar\bcd724021a4a47b56ea11fd4e65c68b9\AndroidManifest.xml as the library might be using APIs not available in 8
	Suggestion: use a compatible library with a minSdk of at most 8,
		or increase this project's minSdk version to at least 14,
		or use tools:overrideLibrary="android.support.v4" to force usage (may lead to runtime failures)

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

因为是旧项目,很久之前的,我用的是as3.3   minSdkVersion版本增加到至少14个(最小),这个时候官方文档中也有说明,大家的开发经验就能很好解决这样的问题。minSdkVersion <= targetSdkVersion <= compileSdkVersion

minSdkVersion为了覆盖最大人群,做到尽可能小;compileSdkVersion应该使用最新的SDK进行编译,可以及时的更新使用新的API;targetSdkVersion同样也应该适配的最新的SDK版本,支持最新的特性,这是最理想的,三者的关系可以变化为

minSdkVersion < targetSdkVersion == compileSdkVersion,最后参考资料

fastjson和Apache报错解决整理,以及编译时minSdkVersion的值设定

 

至此一个15年以前用ec开发的android项目,已经可以正常在手机运行。纸上得来,书到用时方恨少。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115033.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • centos7.6安装yum模块

    centos7.6安装yum模块准备阶段:查看系统版本:目的是为后面正确下载对应版本的安装包,包不对会让你走很多弯路#cat/etc/redhat-release版本号为:CentOSLinuxrelease7.6.1810(Core)一:卸载老的安装#检查老的安装rpm-qa|grepyum#卸载老的安装rpm-aq|grepyum|xargsrpm-e–nodeps…

  • wolive在线客服系统_源码屋

    wolive在线客服系统_源码屋wolive是一款为数不多的可自行搭建的php客服系统源码,基于开源高性能workerman框架开发,看了下,功能比较全。想到基于workerman开发,并发性能应该不错。找遍其它客服系统,发现都没有给源码,程序及聊天数据也全部存储在别人服务器上,由于业务涉及到一些账号、订单、买家信息等隐私,担心数据安全问题,所以找到了wolive。由于wolive可以私有化部署,数据库、程序都在自己服务器上,…

  • 闫学灿acwing_分组背包问题

    闫学灿acwing_分组背包问题有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。si=−1 表示第 i 种

  • 非线性方程(一)

    非线性方程(一)此为全书第一章,主matlab入门——通过学习各种插值法:反线性插值、牛顿法之类。1、diff>>diff('x^2')ans=-26-44>>dif

  • 数据持久化

    数据持久化

  • ASIHTTPRequest开源类项目导入问题及解决方法[通俗易懂]

    ASIHTTPRequest开源类项目导入问题及解决方法

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号