首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android4.4运行过程中闪退java.lang.NoClassDefFoundError

上周五项目测试时发现一个奇怪的Bug,项目中依赖了一个第三方框架,但是在android4.0-4.4.4之间的系统中运行会直接闪退,抛出错误异常为java.lang.NoClassDefFoundError...[解决方案]:NoClassDefFoundError异常一般出现在编译环境和运行环境不一致的情况下,就是说有可能在编译过后更改了Classpath或者jar包所以导致在运行的过程中JVM或者ClassLoader...,处于竞争关系,部分calss竞争失败,导致加载不成功; 4.装载并初始化一个类时失败(比如静态块抛 java.lang.ExceptionInInitializerError 异常),然后再次引用此类也会提示...6.so文件找不到,设备平台armeabi-v7a,但是我的so库是放在armeabi中的,解决方法新建一个armeabi-v7a包,并且把armeabi的文件拷贝过来....但是,在实际的定位问题的过程中发现并不是总的方法数超出65535,也并不是class竞争失败,最后的问题出在解决方案5,引用的class在低版本中不存在或者说实现可能不同了。

1.3K20

Android Studio中 .gitignore配置

.gitignore 使用 我们第一次创建项目和上传项目的时候,是没有.gitignore文件的,我们需要自己配置,这里讲的是Android Studio中怎么使用.gitignore,关于第一次如何上传项目到...从以上提交的结果可以看出,没有添加 Android 工程应有的 .gitignore 文件,我们可以去https://github.com/github/gitignore下载一个,也可以拷贝之前的项目的...从上图中我们可以看到 .java 文件编译产生的 .class 文件依然被 track。...对于以上情况,我们需要用到强制提交的命令: git add -f *.class 我们修改一下 .java 文件然后保存,看看产生的编译文件 .class 是否再次被 track,答案是肯定的!...说明:Git 代码管理中,我们在没有添加 .gitignore 文件的前提下提交了代码之后再提交 .gitignore 文件,或者是中途添加某一文件类型到 .gitignore 文件中,需要通过以下命令行的方式

3.9K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Studio 中的Gradle版本介绍

    前言 如果你针对Android Studio中的Gradle插件有不懂。打开老项目的时候,经常由于Gradle的版本号问题造成项目无法编译。...不了解Project目录下build.gradle中的com.android.tools.build:gradle版本与gradle/wrapper/gradle-wrapper.properties...Android Gradle 插件 Android Studio 是采用Gradle 进行代码的打包编译以及构建项目的。 但是Gradle是一个开源的自动构建工具,是面向全平台的。...不存在的时候会输出:R8: Missing class: java.lang.instrument.ClassFileTransformer 这样,我们就不用在运行时崩溃了才知道有哪些类没有被依赖了。...但我们要忽略该警告,可以通过在proguard-rules.pro 文件中,配置 -dontwarn java.lang.instrument.ClassFileTransformer 来告诉Gradle

    1.8K30

    Android Studio 4.1 中的本地内存分析

    本文是 Android Studio 4.1 中 Profiler 有哪些新增特性 的第二部分。之前的文章侧重于介绍 Android Studio 中 System Trace 的新增功能。...在 Android Studio 4.1 中,Memory Profiler (内存分析器) 可以记录本地内存分配的调用栈。...您只需要在 Android Studio 中点击 profile 按钮,然后打开内存分析器,里面会显示更加详细的内存追踪信息。 ?...本地内存记录在 Android Studio 中加载时的初始状态 有些游戏或者应用所依赖的库会在 new 关键字之外调用 malloc 来申请内存。...另一个本地内存追踪的常见用法是理解应用启动时内存的占用情况。在 Android Studio 4.1 中,我们还增加了在应用启动时采集本地内存使用记录的功能。

    2.8K30

    Android Studio 4.1 中 Design Tools 的改进

    Android Studio 中的 Design Tools Suite 提供了一整套开发工具包,使得开发者们能高效地进行 UI 设计、原型设计、构建和调试代码。...在 Android Studio 4.1 的迭代中,我们将重心侧重于听取并处理来自用户的反馈,并以此作为依据对现有工具进行改善,最终我们不仅重新设计了现有的一些交互方式,还新增了一些遗漏的功能。...在 Android Studio 4.1 中,我们希望能够在 IDE 中很好地支持这些 helper 的功能,从而达到更好的交互体验。...通过新的属性面板选项操作 helper 设计时 (Design-time) 的属性开关 Android Studio 提供了各种 工具属性,它们都是 android:tools 命名空间下的 XML 属性...我们之前收到了很多关于 Material.io 中的 Material 图标同 Vector Asset wizard 中的图标不一致的抱怨,引起不一致的主要原因是 Android Studio 的发布节奏和

    2.2K30

    Android Studio 中 System Trace 的新增功能

    在 Android Studio 4.0 中,我们已经对 CPU Profiler 的 UI 做了大量调整来提供更加直观的工作流记录,而在 Android Studio 4.1 中,我们基于开发者们的反馈对此功能进行了持续改进...我们将会在本文重点介绍 Android Studio 中 System Trace 的新增功能,System Trace 也就是 "系统跟踪" 的意思,用来记录短时间内的设备活动,它会生成一个 .trace...不同于函数跟踪,如 Java Method 或 C/C++ Func Trace,System Trace 跟踪的是系统级的内容,如设备活动 (例如 CPU 核心调度) 和 Android 系统进程 (...Android Studio 4.1 Beta 1 中的 System Trace 界面 您可以通过简单拖拽将某一区域或者区域内的某个元素进行向上或向下移动来重新组织列表。...框选、拖放与缩放 分析面板 说到分析,我们想着重聊一聊 Android Studio 4.0 中引入的新  Analysis Panel ,它位于  Profiler 窗口的右边一列。

    2.7K50

    Android Studio 中的 Motion Editor 用法详解

    自 Android Studio 4.0 版本开始,我们发布了稳定版本的 Motion Editor,许多开发者已经在使用它创建动画效果。 ?...Motion Editor 中运行的动画 Motion Editor 是 Android Studio Layout Editor (布局编辑器) 的一个扩展,当您在一个包含 MotionLayout...您可以使用已在布局编辑器中所熟知的交互方式来编辑布局和 Motion Scene 文件,并可以直接在 Android Studio 预览界面中对动画效果进行预览。...我们希望这些功能能够让编译器更容易解析复杂的过渡效果,并简化创建体验。 ? Motion Editor 已在 Android Studio 4.0 中推出,欢迎大家使用并给予我们反馈。...Android Studio 团队也会不断地收集反馈以改善其使用体验。有任何想法或遇到任何问题,欢迎 提交反馈。

    2.2K10

    java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo

    昨天遇到一坑,在Android Studio上在线调试的时候好好的,结果导出APK,为了图方便,直接从build文件目录下拿到apk装到目标机器上。结果却出现了异常报错的情况。...报错信息是: java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo 到这里我就有点懵了,com.android.tools.fd.runtime.AppInfo...我写的类根本就没有这个类。 好吧,用搜索工具一搜,没有什么相关的信息。到StackOverFlow中搜索了一下,倒是有位网友提示是Instance Run的问题。...我猛然醒悟,肯定是Instance Run给我的程序在调试的时候添加了一些自己的代码,但我脱离AndroidStudio去安装到目标机器时,它就肯定找不到这个类的。...意识到这个的时候,其实问题也很容易解决了。 ---- 解决方法 ---- ---- 1 在Android Studio中关闭Instance Run功能,并且清除build目录。

    65130

    将Eclipse中的项目迁移到Android Studio中的方法

    将Eclipse中的项目迁移到Android Studio中 非著名程序员 我们都知道Google官网在年底将不再支持Eclipse的开发,我也相信现在肯定还有很多人在使用Eclipse开发android...使用过Android Studio中的人都知道,项目中要有Gradle,那么方法就是首先要做的是生成Build Gradle的文件,毕竟Android Studio是用Gradle来管理项目的。...(如图所示) 4.选中你想要导入到Android Studio中的项目,Finish。...导入到Android Studio中: 1.在Android Studio 中,首先关掉你当前的打开的项目。...但是为了更好的使用之后的功能和充分利用构建变量,小编还是强烈的建议先从ADT插件中生成Gradle文件再导入到Android Studio中。

    1.5K60

    【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 编译 VirtualApp 报如下错误 : Could not determine java version from '11.0.8'....The project uses Gradle version which is incompatible with Studio running on Java 10 or newer....https://github.com/asLody/VirtualApp , 2017 年就停止维护了 , 项目太老 , 最新版本的 Android Studio 4.2.1 无法运行上述项目 ;...使用新的环境打开老项目 , 会出现上述问题 , 不推荐进行额外修改 , 即使修改会后 , 会出现一系列的额外问题 , 直接使用当时的 Android Studio 版本即可 ; 到 https://developer.android.google.cn.../studio/archive 页面去下载对应的 Android Studio 版本 ; 直接下载 Google 官网上能下载的最早版本 ;

    96220

    【Groovy】Android Studio 中创建 Groovy 工程 ( 创建 Android Studio 工程 | 创建并改造 Java 依赖库 | 编写 Groovy 代码并运行 )

    文章目录 一、创建 Android Studio 工程 二、创建 Java or Kotlin Library 类型的 Module 三、改造 Java or Kotlin Library 类型的 Module...四、编写 Groovy 代码文件并运行 一、创建 Android Studio 工程 ---- 在 Android Studio 欢迎界面 , 选择 " Create New Project " 创建新的...Android 应用 ; 默认创建 Module 即可 , 应用的 Module 不能作为 Groovy 开发的工程 , 这里随意即可 , Groovy 开发工程需要额外创建 Java 依赖库...Module , 然后基于 Java 依赖库 Module 进行改造 ; 设置工程名称 , 然后点击 " Finish " 完成设置 ; 新创建的 Android 工程是一个空白工程 ; 二、...def static main(def args) { // 在 Groovy 中可以使用 Java 语法 System.out.println("Hello

    1.7K40

    java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别

    虽然网上说法很多,但是关于NoClassDefFoundError并没有给出一个样例,所以一直无法理解,索性自己验证了一下,收获还不少。   ...常见的场景就是:   1 调用class的forName方法时,找不到指定的类   2 ClassLoader 中的 findSystemClass() 方法时,找不到指定的类   3 ClassLoader...中的 loadClass() 方法时,找不到指定的类   开发者平时会有这样一种使用方法,类似JDBC加载驱动!...NoClassDefFoundError   这个就比较奇葩了,查找其他的资料是说,通过了编译,但是使用的时候,比如new的时候会出错。   ...很明显,报错信息中指出了包的信息!那么怎么办呢?   在编译时,加上【   -d .   】这样可以把当前的目录加入到classpath中。 ?   在使用时,加上包名就可以了!

    5.4K50
    领券