加上自定义Application之后报错(ClassNotFoundException)

相关代码

Application类:

package com.weyes.focus;

import android.app.Application;

public class MyApplication extends Application {}

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.weyes.focus">

    <application
        android:name="com.weyes.focus.MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

问题描述

添加:android:name="com.weyes.focus.MyApplication"
项目在安卓5.0以上运行都没有问题。
在4.x上运行报错。我这里三台手机都报错,红米(4.2.1)、三星(4.3)、酷派(4.4.4)。

删除:android:name="com.weyes.focus.MyApplication"
所有手机运行正常。

报错信息

01-06 15:28:08.720 25650-25650/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   java.lang.RuntimeException: Unable to get provider com.luck.picture.lib.PictureFileProvider: java.lang.ClassNotFoundException: Didn't find class "com.luck.picture.lib.PictureFileProvider" on path: DexPathList[dexElements=[zip file "/data/app/com.weyes.focus-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.weyes.focus-1, /vendor/lib, /system/lib]]
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:5115)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4670)
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4606)
                                                       at android.app.ActivityThread.access$1300(ActivityThread.java:162)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1414)
                                                       at android.os.Handler.dispatchMessage(Handler.java:99)
                                                       at android.os.Looper.loop(Looper.java:153)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5383)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:511)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
                                                       at dalvik.system.NativeStart.main(Native Method)
                                                    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.luck.picture.lib.PictureFileProvider" on path: DexPathList[dexElements=[zip file "/data/app/com.weyes.focus-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.weyes.focus-1, /vendor/lib, /system/lib]]
                                                       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:5100)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4670) 
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4606) 
                                                       at android.app.ActivityThread.access$1300(ActivityThread.java:162) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1414) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                       at android.os.Looper.loop(Looper.java:153) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5383) 
                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                       at java.lang.reflect.Method.invoke(Method.java:511) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
                                                       at dalvik.system.NativeStart.main(Native Method) 

这里报错说找不到这个类com.luck.picture.lib.PictureFileProvider,其实不单单是这个类,而是所有类都找不到,但这些类确实都是存在的,也就是类加载的时候就有问题了,实在不知道哪里出了问题,哪路大神碰过类似的问题么?求指教!

0

2个回答

你这个问题是分包错误,一、配置build.gradle (app)

android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0.0" multiDexEnabled true }
dependencies { compile 'com.android.support:multidex:1.0.0' }
二、使用自定义的Application继承MultiDexApplication这个类,或者重写Application的方法attachBaseContext(),并调用MultiDex.install();

@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(base); }
三、到项目的根目录下执行 ./gradlew clean build

3
qiantujava
AudienL 大神六六六!果然是分包问题,搞定了!
一年多之前 回复

你这个问题是分包错误

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android自定义的application无法强制转换成application问题解决
我自定义一个MyApplication继承自Application,在项目中的某一个地方通过getApplicationContext()强制转换成自定义的AppApplication,按正常逻辑AppApplication即是Application的实例,但是运行起来的时候会报类型转换错误,MyApplication类不能转换成Application,问题就在于需要在AndroidManifes
**springboot框架包已导入但还是报ClassNotFoundException问题**
excel上传的时候poi包的版本用的最新的,启动的时候报ClassNotFoundException异常,后来换了低版本的好了
修改包名 classnotfoundexception 解决办法
Properties--java build path--order and export --select all      OK
servlet-api.jar
eclipse总是报错,加上这个之后就好了
web.xml配置报ClassNotFound错误解决方法之一
web.xml报ClassNotFound错误的原因有很多..这个解决方法是我遇到项目的解决方法. 其实这个原因很简单.就是tomcat启动工程时.读取文件的位置是WEB-INF/classes..而有时候新建一个工程(或者导入其他工程)由于路径不对..所以一直找不到类.就会报错. 解决方法:   项目名上右键--> Build Path --> Configure Build
debug模式运行报错ClassNotFoundException 解决方法
前奏: 连续一个月的高强度开发接近尾声,昨天拿到设计logo准备换上,但是一直不生效。 &amp;lt;application android:name=&quot;com.example.lenovo.zhongye.ZhongYeApplication&quot; android:allowBackup=&quot;true&quot; android:icon=&quot;@mipmap/app...
关于java实现的mapreduce程序打包后通过脚本运行出现classnotfound异常
eclipse内运行正常  打包通过脚本启动后hadoop报classnotfound等莫名其妙的错误     解决办法:       将所有依赖jar都打入到一个jar中即可       如图打包时选择第一项即可
解决IDEA中 Tomcat项目引入了对应的jar包却出现ClassNotFoundException
今天在弄Tomcat项目时局部测试时都是正常的,但是发布Tomcat项目后,却出现 java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoader...
svn检出的项目,启动服务器运行时报classnotfoundexception错
svn拉下来的项目中的web.xml配置好了,但启动时找不到拦截器。是因为,svn上的项目不一定有JRE,项目拉下来后,项目名位子有红色小×,但是项目目录中没有显示报错。这时可以进项目的Build Path中看是否有JRE。若没有,导入即可。...
明明导入了外部jar包但还是出现ClassNotFoundException问题怎么办?
一:在建好的web工程下,新建lib文件夹,将所使用的的外部jar包复制进来,然后正确build-path后,使用单元测试完全没问题,但将项目发布以后,出现错误: java.lang.ClassNotFoundException: org.dom4j.DocumentException 明明单元测试都没问题却报这样的错误,后来去tomcat下的webapp里面寻找jar包,发现lib目录下并没有
启动Tomcat报错classnotfountException的指定类在web.xm配置的监听器没有存在
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL     严重: Error configuring application listener of class org.springframework.web.context.Conte
ssm项目整合shiro使用ehcache出错
首先贴出spring-shiro.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/sch
反序列化 动态加载jar的里的类报ClassNotFoundException解决办法
1.背景 自己在写一个RPC框架时,碰到第一个麻烦就是做动态加载加载jar包后,在进行反序列化(不要吐槽为啥用java原生的序列化方案,一步一步来,框架写完能跑后在优化)时报CNF错误,当时感觉应该是原生的序列化方案中使用的ClassLoader是应用加载器AppCloassLoader,而我使用的URLClassLoader加载的外部jar包,导致没有找到。 关于java的类加载器,如果知道...
关于OPPO R11上面运行项目出现ClassNotFoundException问题的原因及解决方案记录
这个项目很简单,只是用了一个AgentWeb展示一个网页的功能,其他手机上面都没有问题,只有OPPO R11上面报了这个问题,找了度娘也没有解决。真是捉急吖!!! 回归正题,错误如下: 2019-03-25 15:03:02.219 593-3069/? E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only 2019-...
iText创建pdf文件里,解决ClassNotFoundException错误
在这里说下我解决的过程。 用了iText的例子程序,并在例子程序里加了itextpdf-5.3.3.jar,iTextAsian.jar,都能正常工作,可以创建带汉字的pdf文件,但一放到自己的RCP程序里,就出错。老是报java.lang.ClassNotFoundException:这样的错误。试了各种方法,都不行,差点崩溃了。 注:我用的例子程序,http://www.vogella.c
Hibernate用户手册:2.2 命名策略
命名策略将一个对象模型的名字映射到响应的数据库名字是映射一个对象模型到关系数据库的一部分。Hibernate 将这个分为两个步骤: 第一步是从领域模型映射中确定一个合适的逻辑名称。一个逻辑名称即可以被用户明确的制定,也可以被Hibernate通过一个隐式命名策略约定隐式地指定。 第二步是将logical name解析为physical name,physical name是被PhysicalNami
Kotlin项目崩溃报 java.lang.ClassNotFoundException异常问题解决思路
今天闲来无事学准备在Android Studio下编译一个Ktolin Demo 运行一下。以为环境配置好了直接运行,编译没有错误,结果运行直接报了这样一个错误:31013-31013/com.yan.newbe E/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.yan.newbe, PID: 31013java.lang.RuntimeExc...
编译BurpSuit插件时打包方式不对导致java.lang.ClassNotFoundException问题
在编译Burp插件时,由于导出jar包的姿势不对,在Burp Suit里引用自己导出的jar包,可能会报错:java.lang.ClassNotFoundException:……。举个例子,在编写某个burp插件时,引用了外部jar包:在工程里已经配置好了引用jar包的路径,程序无报错:但下面采用了错误的姿势导出jar包,导致burp中引用jar包时报错:错误的姿势:burp中应用jar包报错:正...
springboot和kafka整合过程中出现的一个错误
错误信息如下: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaProducerListener     at org.springframework.boot.autoco...
android getApplicationContext()强制转换为自定义的application时崩溃的原因
自定义定义了一个继承自Application,在getApplicationContext()强制转换时崩溃问题就在于—— 需要在AndroidManifests.xml里面注册我们自己定义的Application <!--加上android:name=".自定义类名"--> <application android:name="在这里注册。。。。" an
启动Tomcat时报监听器类(实现这个 ServletContextListener接口)引起的java.lang.ClassNotFoundException错误
最近在新导入的一个maven项目中,出现以下问题:、 启动Tomcat时监听器类实现这个 ServletContextListener接口引起的java.lang.ClassNotFoundException错误,一直报自己这个类找不到。 说明没有编译成功,可能有以下情况:1.查看是否存在该类2.看环境变量配置是否有问题3.jar包有错误,查看jar是否有漏或者重新导入jar包 4.jdk
Eclipse项目名出现红叉,启动项目报错java.lang.ClassNotFoundException
java.lang.ClassNotFoundException - Stack Overflow
浏览器打开含有applet标签网页报ClassNotFoundException错误的解决办法
----------------------------------~~~~~~~~~~~~~~~上班太无聊,闲的我开始重新学JAVA~~~~~~~~~~~-------------------------------------------------- 先贴上applet代码:气泡上升示例 package applet; import java.applet.Applet; i
tomcat的webappclassloader中一个奇怪的异常信息
如果一个应用抛出大量的Class not found信息,一般你会怀疑包冲突。可是tomcat的webappclassloader却有这样的问题:如果一个应用发布出现问题, webappclassloader的started属性被设为false.然后其它线程如果继续使用webappclassloader进行class load,则大量的Class not found异常被抛出: 1391     
关于JavaWeb项目出现ClassNotFoundException的解决方法
    很多时候我们会发现明明我们已经将jar包放入了我们自己创建的lib文件夹中并Add to Bulid Path却还是抛出了ClassNotFoundException, 解决方案很简单, 在java 项目中, 我们只需要将jar包放入创建项目时创建的WebRoot/WEB-INF/lib中,项目就好自动导入包了, 也不会报上述异常了;...
TP5.0 动态注册路由报模块未存在错误
错误描述: 1.  照着官方手册在application/config.php里面修改配置如下: 'url_route_on'           => true, 'url_route_must'         => false, 2. 在application/route.php 里面动态注册路由如下 use think\Route; Route::rule('test/','i
jsp中ClassNotFoundException异常的终极解决办法
      在我们写jsp的时候总是会遇到各种各样的问题,特别是用到数据库的时候问题就更多了………但是遇到问题是好事,今天解决了这个问题,明天就不会再犯了呀~~      我一直在用的是MySQL数据库,有的时候连接数据库,会出现一个叫ClassNotFoundException这个异常,然后就去检查。    第一步:把jar包放到tomcat的conm包下的lib文件中,如果你用的是tomcat免安装版的话,你就郁闷的发现根本没有这个文件夹,其实这个时候,lib文件是一样的,把jar包放到哪里可以了。  
项目启动报classnotfound异常解决
今天在做项目时,出现了莫名奇妙的classnotfound的异常。首先我根据异常所指向的类,在项目中找到了这个类。然后clean项目,重新启动,仍然报这个错,这我就很奇怪了,明明有这个java文件,也重新编译了,为什么还是找不到呢。 我想无非两种情况: 1.classpath的问题 2.编译失败 我检查了项目的.classpath文件,没有发现什么问题。 那么就是编译失败咯。果然,classpat
使用Hadoop执行jar命令出现ClassNotFound错误
Hadoop jar命令出现ClassNotFound错误 执行的命令如下:hadoop jar example-three.jar HDFSFolderShow /data 意思是去浏览hdfs中的/data文件夹。【需自己创建】 错误语句如下:Exception in thread “main” java.lang.ClassNotFoundException: HDFSFolderSh
解决IDEA和Eclipse中 引入了对应的jar包却出现ClassNotFoundException
        如果你的问题属于“引入jar包后编译能通过但在web中调用就报ClassNotFoundException”,请认真看下面的解决方案。不属于请自觉绕道。^_^        出现这种问题就说明你引入的jar包在WEB-INF\lib下不存在。那为什么能通过编译呢?拜托,编译的时候又不从WEB-INF\lib目录下寻找类,是从classpath下寻找的,也就是说你引入的jar包只是存...
Idea 中JDK版本设置问题导致ClassNotFoundException错误的一种原因
今天在使用Idea编写代码测试时,点击Run之后,一直报错ClassNotFoundException,就连最简单的Hello world程序都是如此,一时之间,不知所措。Baidu、Google了一大堆,各种方法都尝试了,还是报一样的错误。甚至,我都把Idea卸载并重新安装了,错误仍然存在。     没办法,还得继续查找原因,于是继续搜索,查看各种可能性,并一个个尝试。忽然,在一个论坛中,看到
连接数据库ClassNotFoundException的解决办法
前几天我在测试一个简单的java应用连接mysql数据库时,遇到了一个以前也遇到过的烦人问题。Class.forName(xx.xx.xx);抛出异常,此异常就是ClassNotFoundException。一开始我从网上找了一些方法,但是都无法成功,最后老师点明了错误。现在Class.forName加载出现ClassNotFoundException的几个原因归结一下。   首先得说明为什么出
如何解决maven工程在调试的时候出现classnotfoundexception异常
在eclipse+ maven+ Tomcat进行调试的时候,总是出现classnotfoundexception的异常,查看Tomcat的发布目录的lib目录果然没有对应的jar文件。 解决方法是: 1.右击工程-》点击properties 2.找到deployment and assambly 点击add 把maven添加到demployme
利用注解方式配置bean,发生java.lang.ClassNotFoundException 解决方案
代码没有问题,但是运行时报错,发生找不到类的异常。 at com.guoning.spring.beans.annotation.Main.main(Main.java:16) Caused by: java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource Caused by: java.lang.Cl...
Maven项目在eclipse中使用junit进行单元测试时报错:ClassNotFoundException
Maven项目在eclipse中使用junit进行单元测试时报错:ClassNotFoundException
spark2- submit提交任务报错
在安装完成cdh5.13.3之后,写了个sparkstream的代码,然后准备用spark2-submit提交任务,结果遇到了一系列的错误: 1.spark2-submit提交任务的时候直接报错 Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream   ...
明明引入jar包,却依然ClassNOtFoundException
在项目中MAVEN加入了: org.slf4j slf4j-api 1.7.5 运行项目后出现红色提示: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger impl
一、当出现“ClassNotFoundException”错误怎么办?
问题: 出现“ClassNotFoundException”错误怎么办?解决:    1.检查该类的jar包在不在    2.若在,那么就是该jar包已存在Maven仓库中,但没有引入项目中(尽管项目的POM文件中已有该依赖)    3.解决办法参照下方图片,将jar包从Maven仓库中引入项目...
解决Bundle中使用反射时,报ClassNotFoundException异常
项目工程: user-model/
JAVA Access连接驱动(已破解)亲测
JDK1.8版本删除了JDBC-ODBC桥接器(反复报错:ClassNotFoundException),本版本破解限制,供学习参考
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链之后 学习了java语言之后