所维护的app中使用到一个外部工程但是是自己维护的sdk,这个sdk最终以jar的形式导入到工程里面
打包成功后,生成的apk在使用过程中,经常性的出现java.lang.NoClassDefFoundError这样的问题,查看对应的class文件,在jar包中是存在的。
仔细检查编译过程的日志,发现有如下信息出现:
Dx bad class file magic (cafebabe) or version (0033.0000)
经确认,出现以上问题的原因是:android编译过程中使用的jdk的版本是1.6,但是其中某个jar包在打包的时候使用的jdk却是1.7
也就是说是jdk不一致导致的问题。
使用1.6的jdk编译后,重新生成apk,问题解决。
相关推荐
bcprov-ext-jdk15-145.jar bcprov-jdk15-145.jar commons-compress-1.0.jar fontbox-0.8.0-incubating.jar jempbox-1.0.0.jar log4j-1.2.13.jar metadata-extractor-2.3.1.jar pdfbox-0.8.0-incubating-src.jar ...
在Oracle 12C的语境下,ojdbc.jar通常指代的是不特定于Java版本的驱动,这可能意味着它适用于多种JDK版本,但并不保证对所有Java版本都有最佳性能和兼容性。如果项目使用的是Java 8之前的版本,可能需要选择这个版本...
需要注意的是,不同版本的`jar`包可能存在兼容性问题,选择与所用JDK、应用服务器版本匹配的`jar`包至关重要。 综上所述,J2EE中的`jar`包是实现各种功能模块的关键,它们相互协作,共同构建起复杂的业务逻辑和...
这可能是由于多个原因导致的,其中最常见的原因之一是使用的Java开发工具包(JDK)版本与Gradle不兼容。在本例中,描述中提到了"jdk 15.0.2",这意味着我们正在讨论的是Oracle JDK的特定版本,即15.0.2。 Java是一...
1. **bin**:这个目录包含可执行文件,如`java`, `javac`, `jar`等,用于运行Java应用程序、编译Java源代码和打包类文件。 2. **lib**:库文件的集合,包括JVM(Java虚拟机)运行所需的类库,以及开发工具所用的库...
根据压缩包子文件的文件名称列表"iText中所用的jar",我们可以推测压缩包内可能包含的文件有iText的主要库文件,如`itextpdf.jar`,以及可能的依赖库,如Bouncy Castle用于加密或签署PDF文档的`bcprov-jdk15on.jar`...
JDK是开发Java应用程序的基础工具包,包含了Java编译器、类库和其他开发工具。正确配置JDK能够确保Java程序正常运行。 #### 标签解析:“jdk配置” 此标签进一步指出了本文将重点介绍JDK的配置方法。JDK配置通常...
Java JDK(Java Development Kit)是Oracle公司提供的Java语言开发工具包,它包含了编译、调试、性能分析等一系列工具,使得开发者能够创建、测试和部署Java应用程序。 1. **Java JDK组成部分** - **JRE(Java ...
总结来说,Android系统外置卡路径的查询通常通过ADB的`mount`命令实现,而Apk反编译则涉及到一系列工具,包括Apktool、dex2jar、JD-GUI、Apkdb_zsb和RE管理器。每个工具都有其特定的用途,共同构成了Apk分析的完整...
- 你的项目所用JDK的版本。 - 项目对新特性的需求,比如新的插件或配置选项。 - 兼容性问题:确保所选Maven版本与项目中其他工具和库兼容。 总之,Apache Maven是Java开发中的重要工具,它通过标准化构建过程,提高...
当运行时出现类似 `java.lang.UnsupportedClassVersionError: Bad version number in .class file` 的异常时,这通常意味着当前使用的JDK版本与编译代码时所用的JDK版本不一致。 **解决办法:** - **确认JDK版本...
- **下载**:访问Google Code项目页面,根据所用操作系统选择合适的apktool版本。 - **安装**:解压缩下载的文件到工作目录下的`bin`文件夹,例如:`\workspace\apktoolbox\bin`。 3. **密钥文件**:用于签名的...
解决办法是调整使用的 JDK 版本,确保其与编译时所用的版本一致。 通过以上步骤,您可以顺利完成 SQL 数据库的连接配置,并进行基本的数据库操作。如果遇到其他问题,请参考官方文档或寻求专业人士的帮助。
在部署Tomcat时,应确保Tomcat版本与开发所用版本一致,同时JDK版本也需要与Tomcat相匹配。在本文示例中,系统环境是CentOS 7.4,使用以下命令查看系统信息: ```bash [root@web03 ~]# cat /etc/redhat-release ...
早期版本jdk+JAF+javamail(需重新编译源代码,未测试) 已知问题: 1. gmail和hotmail邮箱能够正常收取 126邮箱不能正常收取附件 其他邮箱未测试 2. 中文支持应该没问题 运行: java -jar BulkEmailSender.jar
2. **兼容性问题**:不同的操作系统和Java版本之间可能存在差异,需要确保所用的API兼容当前环境。 3. **错误处理**:在实际应用中,应当增加适当的错误处理机制,比如处理串口打开失败的情况。 #### 五、总结 ...
需要注意的是,在实际操作过程中可能遇到各种问题,如插件版本不兼容等,因此建议仔细阅读官方文档并结合实际情况进行调整。此外,随着技术的发展,可能会有更多优秀的工具和插件出现,开发者可以根据自己的需求选择...
《疯狂Java讲义》 配书光盘 版权所有,侵权必究 2011年12月 ___________________________________________... 如果您使用本光盘中遇到不懂的技术问题,您可以登录如下网站与作者联系: http://www.crazyit.org