新版的SDK在发布apk时找不到jar包中的类,会报错:java.lang.NoClassDefFoundError: org.apache.commons.lang.StringUtils
网上有人提到将jar包放到source build path中,编译和运行都不会出错。
这个我早试过了,可以,但是你的包会大很多。一是会编译到dex中,一是会以jar的形式存在在apk中。
老版本的sdk不会存在这个问题,不知道新版本为什么会这样。
我试着将引用包的源代码加入到source build path中,包会很小,编译运行也都没问题。
分享到:
相关推荐
实在抱歉,资源分不能设置为0,浪费你1个积分。...若采用上面的方法引用则在运行时会找不到okhttp3 库中的类。 针对这种问题可以采用maven仓库来解决,我们可以将aar生成到本地或远程maven仓库,再引用仓库中的aar.
解决这类问题通常需要阅读SDK文档,了解它们的使用方式和可能的冲突点,然后通过排除不需要的类或寻找替代方案。 4. **打包时出现编译错误**:在正式打包时才出现的冲突,可能是因为某些库在调试模式下没有暴露冲突...
Android Android Android Android 应用现状 � 设备商: lenovo 、琦基、戴尔、三星、摩托罗拉、华为、英特尔、 Kogan 、索爱、华硕、多普达、爱可 视 、 Archos 等。 � 制造商: HTC 、 Telstra 等。 � 手机设计...
7. **Google Play Services**:集成了Google的各种服务,如地图、身份验证、推送通知等,是Android开发中不可或缺的一部分。 8. **Picasso**:这是一个图片加载库,简化了图片的下载和显示,支持缓存和图片处理。 ...
如果应用中包含JNI代码,我们需要确保相关的类和方法不被混淆,因为JNI方法的签名必须保持不变。例如: ``` -keepclasseswithmembers class * { native ; } ``` 4. **处理第三方依赖包**: 第三方库通常有...
)移动到/system/lib文件夹中,把所有的xml 文件(好像就1个)移动到 /system/etc/permissions文件夹中,把所有的jar文件(好像也就1个)移动到/system/framework文件夹中。好了么?sd卡上的temp文件夹也可以顺手...
静态库用于生成动态库,而动态库是安装到应用包中的唯一库类型。NDK构建系统会自动处理一些细节,如头文件的处理和依赖关系的管理,使得开发者无需在Android.mk中显式处理这些内容。 一个简单的Android.mk文件示例...
在Android应用开发中,安全是至关重要的,但有时我们需要对APK包进行反编译以进行二次开发、学习源码或者查找潜在的安全漏洞。本文将详细介绍Android反编译工具及其使用,以帮助开发者掌握这一技能。 标题中的...
- **模块**:模块可以是静态库、共享库等形式,其中只有共享库会被安装到应用包中。静态库则主要用于生成共享库。 #### 三、文件格式与语法规则 ##### 3.1 变量声明 - **LOCAL_PATH**:定义了当前文件所在的路径...
你可以使用`java.util.zip`包中的类,如`ZipInputStream`和`ZipEntry`来读取和解压ZIP文件。以下是一个简单的解压ZIP文件到特定目录的示例: ```java File outputDir = new File(context.getFilesDir(), "unzipped...
1. **音频文件读写**:在Android中,可以使用java.io和java.nio包中的类进行文件的读取和写入。例如,FileInputStream和FileOutputStream用于读写文件,而BufferedInputStream和BufferedOutputStream则可以提高读写...
- 将ADT包中的`features`和`plugins`文件夹复制到Eclipse的相应目录。 - 替换原有的文件夹。 4. **配置Eclipse**: - 打开Eclipse,配置工作空间。 - 通过菜单`Window > Preferences`进入设置界面。 - 配置...
这种方法适用于工程A不包含任何与Android平台相关的资源或组件的情况。首先,你需要确保工程A中没有使用`R.java`文件,因为`R.java`是编译时自动生成的,包含所有资源的引用,不能包含在JAR包中。如果工程A依赖于...
在Android开发领域,针对高通平台的开发工作具有一定的特殊性,因为涉及到一些非开源的组件,这使得初学者在获取代码、构建环境以及烧录过程中可能会遇到挑战。以下是对标题和描述中所述知识点的详细解释: 1. **...
解决办法是:在插件工程的项目中添加一个/cjlibs的文件夹,将需要调用的jar包放到这个文件夹中,并在插件项目目录下的.classpath中加入如下语句,系统会自动处理相关细节 kind="lib" path="cjlibs"/>
2. 添加JAR依赖:将生成的JAR包拷贝到“lib”目录,然后在Android Studio中右键点击“lib”目录,选择“Add As Library”,将JAR文件添加到项目的构建路径中。 3. 使用自定义组件:在XML布局文件中,你可以像使用...
有时,即使将jar添加到了lib目录,也需要手动调整类路径,以确保编译和运行时能正确找到引用的库。 7. **使用Maven或Gradle的依赖管理和解决**:这两个工具可以自动下载并管理依赖,避免了手动下载jar的繁琐工作,...
`startApp()`, `pauseApp()`和`destroyApp()`是MIDlet类中的关键方法,需要在子类中重写以控制应用程序的生命周期。 总的来说,湖北工程学院的手机程序设计课程涵盖了Java语言的基础,Java ME的开发环境配置,以及...
安卓NDK环境搭建是Android应用开发中不可或缺的一部分。NDK提供了一个基于C/C++语言的开发环境,允许开发者使用native代码来开发Android应用。下面是安卓NDK环境搭建的详细指南。 一、安装Eclipse插件 Eclipse ADT...