解决android.support.v4.content.FileProvide找不到的问题
作者:boxin1101 发布时间:2022-09-10 05:42:57
标签:android,support,v4,content,FileProvide
在AndroidManifest.xml中加入下面这段话后,
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.boxin.forklift.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
在Android4.4.2版本的手机出现了下面的错误提示
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.boxin.forklift, PID: 7106
java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.boxin.forklift-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.boxin.forklift-1, /vendor/lib, /system/lib, /data/datalib]]
at android.app.ActivityThread.installProvider(ActivityThread.java:5045)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4631)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4571)
at android.app.ActivityThread.access$1700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5291)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.boxin.forklift-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.boxin.forklift-1, /vendor/lib, /system/lib, /data/datalib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.ActivityThread.installProvider(ActivityThread.java:5030)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4631)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4571)
at android.app.ActivityThread.access$1700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5291)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
解决方案:
第一:可能是添加MultiDex分包,但未初始化的原因,在Application中重写attachBaseContext函数,对MultiDex初始化即可。
1)首先修改Gradle配置文件,启用MultiDex并包含MultiDex支持:
defaultConfig {
multiDexEnabled true
}
项目完整写法:
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.boxin.forklift"
minSdkVersion 19
targetSdkVersion 27
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
2)修改BoXinApplication,重写attachBaseContext方法
BoxinApplication默认的命名方式是:BaseApplication
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
加入后成功运行项目到手机。
来源:https://blog.csdn.net/boxin1101/article/details/89643396
0
投稿
猜你喜欢
- 一、IDEA下载idea、jdk、tomcat、maven下载地址请参考上一篇博客:https://blog.csdn.net/DwZ735
- 前言哎呀,妈呀,又出异常了!俗话说:“代码虐我千百遍,我待代码如初恋”。小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了
- CamShift算法全称是“Continuously Adaptive Mean-Shift”(连续的自适应MeanShift算法),是对M
- 基本要点1、定义根据百度百科的定义,RESTFUL是一种网络应用程序的设计风格和开发方式2、传统方式与Restful风格的区别在我们学习re
- 前言作为Java开发者,我们每天都会创建大量的对象,但是,我们总是使用管理依赖系统(如Spring框架)来创建这些对象。其实还有其他方法可以
- 一个activity就好比一个网页,此文章讲解怎样创建一个activity并且实现跳转!一、学习创建Activity1、新建一个java类,
- public static IPAddress GetHostIP(){ &nbs
- 本文实例讲述了Java基于享元模式实现五子棋游戏功能。分享给大家供大家参考,具体如下:一、模式定义享元模式,以共享的方式高效地支持大量的细粒
- Android listview的滑动冲突解决方法在Android开发的过程中,有时候会遇到子控件和父控件都要滑动的情况,尤其是当子控件为l
- 本文实例讲述了C#中IEnumerable接口用法。分享给大家供大家参考。具体分析如下:枚举数可用于读取集合中的数据,但不能用于修改基础集合
- 这是一次阿里面试里被问到的题目,在我的印象中,final修饰的方法是不能被子类重写的。如果在子类中重写final修饰的方法,在编译阶段就会提
- 前言本文主要给大家介绍了关于Android如何实现移动小球和CircularReveal页面切换动画的相关内容,分享出来供大家参考学习,下面
- Android EditText限制输入字符的方法总结最近项目要求限制密码输入的字符类型, 例如不能输入中文。 &nb
- 一.延续任务private async static void CallerWithAsync() {
- 在多线程对一个整数进行自增操作时,需要用synchronized进行同步。然而,如果synchronized的对象选取的不合适的话,就无法实
- java.lang.ArrayStoreException 分析这个demo来说明怎样排查一个spring boot 1应用升级到sprin
- 1.准备工作首先实现识别数字等字符,我们要知道需要采用OCR (Optical Character Recognition,光学字符识别)来
- 一、前言在C#中,由于有了垃圾回收机制的支持,对象的析构和以前的C++有了很大的不同,这就要求程序员在设计类型的时候,充分理解.NET的机制
- 算法的主题思想:1.优秀的算法因为能够解决实际问题而变得更为重要;2.高效算法的代码也可以很简单;3.理解某个实现的性能特点是一个挑战;4.
- mybatis简单的CURD就不用多说了,网上相关博客文档一大堆。分析一下Mybatis里面的collection聚集查询。 假设一个班级有