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项目,已经可以正常在手机运行。纸上得来,书到用时方恨少。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何在mac上查看gcc版本号[通俗易懂]

    如何在mac上查看gcc版本号[通俗易懂]linux能够很方便得查看gcc版本号,只需要输入gcc–version就能得到如下结果,能一目了然gcc版本是4.9.2gcc(GCC)4.9.2Copyright(C)2014FreeSoftwareFoundation,Inc.Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNOwarranty;notevenforMERCHANTABILITYorFITNESSF

    2022年6月26日
    28
  • ZOJ Problem Set – 2563 Long Dominoes 【如压力dp】

    ZOJ Problem Set – 2563 Long Dominoes 【如压力dp】

    2022年1月13日
    46
  • mfc多线程串口通信_python进程和线程之间通信

    mfc多线程串口通信_python进程和线程之间通信AfxBeginThead全局变量参数传递消息传递线程通信目录(?)[-]线程间的通信线程之间的通信简介全局变量方式参数传递方式消息传递方式线程同步法线程间的通信1.线程之间的通信简介一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和

    2022年9月28日
    0
  • centos查看mysql端口「建议收藏」

    centos查看mysql端口「建议收藏」centos查看mysql端口showglobalvariableslike’port’;

    2022年9月26日
    0
  • intlidea 2022.01激活码【2022免费激活】

    (intlidea 2022.01激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~40ZKSWCX8G-eyJsaWNlb…

    2022年4月2日
    140
  • L1正则化的理解(l1和l2正则化代表什么意思)

    在论文中看到L1正则化,可以实现降维,加大稀疏程度,菜鸟不太懂来直观理解学习一下。在工程优化中也学习过惩罚函数这部分的内容,具体给忘记了。而正则化正是在损失函数后面加一个额外的惩罚项,一般就是L1正则化和L2正则化。之所以叫惩罚项就是为了对损失函数(也就是工程优化里面的目标函数)的某个或些参数进行限制,从而减少计算量。L1正则化的损失函数是是不光滑的,L2正则化的损失函数…

    2022年4月16日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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