关于 greenDao 在studio 里的运行时java.lang.NoClassDefFoundError: org.greenrobot.greendao.query.QueryBuilder

greenDao 3.2.0 在studio 的gradle 文件 build的时候很方便,按照github 官方显示的流程配置就 ok了,但是需要注意的一点是,

compile 'org.greenrobot:greendao-generator:3.2.2'   不能再在build里添加了,因为  classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' 已经添加了所有的插件,如果再build  'org.greenrobot:greendao-generator:3.2.2' ,在 Android  5.0 操作系统上运行没有问题,但是在 5.0 以下操作系统中运行就会报  

E/AndroidRuntime: FATAL EXCEPTION: main

java.lang.NoClassDefFoundError: org.greenrobot.greendao.query.QueryBuilder  这个异常,直接APP崩溃,所以千万不能  添加org.greenrobot:greendao-generator:3.2.2

//---------------------解决方法-----------------------

java.lang.NoClassDefFoundError: org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper

解决办法:
compile 'com.android.support:multidex:1.0.0'


自己的MyApplication中实现
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

`java.lang.NoClassDefFoundError: org.apache.commons.dbutils.QueryRunner` 错误通常发生在 Java 程序尝试引用 `QueryRunner` 类时,而该类实际上并未在运行时找到对应的定义。这可能是由于以下几个原因: 1. **依赖库未包含**:确保您的项目包含了 Apache Commons DBUtils 库。您需要在项目的构建文件(如 Maven 的 `pom.xml` 或 Gradle 的 `build.gradle` 文件中)添加相应的依赖项。例如,在 Maven 中,您可以将以下内容添加到 `<dependencies>` 部分: ```xml <dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>1.8</version> </dependency> ``` 对于 Gradle,则是在 `dependencies` 部分添加类似下面的内容: ```groovy implementation 'commons-dbutils:commons-dbutils:1.9' ``` 版本可能会有所不同,请根据实际情况调整。 2. **构建路径错误**:确认您已经正确地在 IDE(如 IntelliJ IDEA、Eclipse 等)中配置了项目的构建路径,确保库已经被正确添加进来,并且可以被项目发现并访问。 3. **编译环境问题**:有时是因为构建工具未能成功将依赖库打包进最终的 `.jar` 或者应用容器中。请检查构建过程,确保所有必要的依赖都已包含在打包的结果中。 4. **类路径问题**:如果是在运行时遇到此错误,可能是 Java 虚拟机 (JVM) 的类路径 (`classpath`) 中缺少必要的库。在这种情况下,需要确保 JVM 可以访问正确的类库目录或 JAR 文件。 5. **版本兼容性问题**:Apache Commons DBUtils 和其他库之间的版本可能存在兼容性问题。确认您使用的版本与其他组件相匹配,避免因版本差异导致的问题。 解决此类错误的基本步骤包括检查依赖管理、构建路径设置以及确保类路径正确。如果以上步骤都无法解决问题,可以查看详细的错误堆栈跟踪信息,它往往能提供更具体的线索帮助定位问题所在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值