关于android studio中使用class.forname()方法动态获取类实例报NO CLASS FOUND异常的几种处理方法

最近在做一个项目的时候需要用到反射来回调子类的方法,但是在反射过程中总是在class.forname()方法抛出NO CLASS FOUND异常,经过几部检查,问题解决,在此总结一下引起该问题的原因

1.class.forname()的参数中的类名必须是完整的包名+类名

2.是1的衍生,在Android studio中,一旦项目的包名修改过了,还需要在自动生成的build.gradle文件中(项目android视图里面)把applicationid给改成修改后的包名,否则安装好APP之后包名还是原来的,就会引起1的错误。

笔者就是被2卡了很久,最后找了很久才解决,在此记录,希望能帮到遇到此问题的朋友们节约时间

时间: 2024-12-21 18:06:03

关于android studio中使用class.forname()方法动态获取类实例报NO CLASS FOUND异常的几种处理方法的相关文章

Android Studio 中的FindBugs插件使用,轻松帮你发现Bug (转)

在日常开发过程中难免会因为一时疏忽而留下一些Bug,这些Bug就是埋在程序里的定时炸弹,如果不能及时铲除就会导致程序的不稳定,异常或闪退的现象,从而导致用户的体验的下降.那么怎么才能找出这些埋在程序里的定时炸弹呢?   对程序员来说最头疼的事情莫过于找Bug了,尤其是找自己程序中的Bug,因为人的思维是有误区的,他很容易陷入当时开发程序时的思维,这样就很难发现埋藏在程序中的Bug.接下来就给大家分享一个Bugs分析的工具FindBugs.   Findbugs是由 National Scienc

[email protected] 在Android studio 中配置Kotlin

在Android项目中配置Kotlin 官方文档讲了如何一步步安装Kotlin插件,并使用插件在Android项目中自动修改Gradle文件来添加对Kotlin的支持.我不建议大家这么做,因为这样自动完成的结果可能并不完美,即使修改后的Gradle文件工作正常,也会打乱Android项目中Gradle文件的一般形式. 说实话,我一直不喜欢有些Android Studio插件直接修改Android build文件,因为经常搞得很乱,我又得一点一点清理直到符合我的风格.Gradle构建文件也是源代码

如何将Eclipse中的开源项目使用到Android Studio中

近几日,笔者用到了一些开源项目,比如著名的PTR项目.但是在使用的过程中,遇到了一些问题. 这个开源库是在Eclipse上面写的,我们现在开发用的是Android stuido. 两种软件的项目结构是不同的,那么怎么把PTR用到我们的项目中呢? 通过查找网络资料等,终于摸索出了一套解决这些问题的方法,下面,我们就来从0开始一步步的将PTR这个库导入到我们的Android studio中 首先,从github上面获取这个库. 找到本地的库,打开Android studio,选择 import pr

Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用

在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法,但是我们能发现Messenger是以串行的方式来处理客户端发来的信息,如果有大量的消息发到服务端,服务端仍然一个一个的处理再响应客户端显然是不合适的.另外,Messenger用来进程间进行数据传递但是却不能满足跨进程的方法调用,接下来我们来使用AIDL来实现跨进程方法调用,此前我们都是用Eclipse来实现的,这次我们看看在Android Studio中使用AI

解决Android studio 中的 Android Device Monitor 中 File Explorer 无法打开data目录的方法(转载 http://www.jianshu.com/p/d8a9a2918c61)

Android Device Monitor 文件管理的常见问题  (转自http://www.jianshu.com/p/d8a9a2918c61) 作者 knightaoko 关注 2017.03.21 11:41* 字数 2750 阅读 770评论 5喜欢 9 Android Device Monitor 是 Android Studio 中用于监测模拟器或真机运行状态的一款开发者工具.但开发者在使用它的过程中往往会遇到很多问题,尤其对于新手.本文分析了实际学习中遇到的问题,包括:1. F

Android Studio中Button等控件的Text中字符串默认大写的解决方法

初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是android:textAllCaps, 最后查看了一下Themes.xml文件,找到了一些端倪,发现在设置样式的时候,默认是把所有的字符串显示大写true. 如图,是从android的Style.xml中的截图,   [解决办法] 1. 把xml中你不想大写的控件添加一行 android:text

android studio中导入第三方jar包和第三方库文件的方法

一.导入第三方jar包的方法 其实较为简单,以下步骤: 1>在工程的libs下面放置需要导入的jar包 2>在导入的jar包右键,选择"add as library" 3>这时候就能够在app下面的build.gradle中发现多了如下说明:"compile XXXX",说明导入jar文件成功了. 二.导入第三方类库文件 相对而言,其实就是将之前的Eclipse的project或者module转化成android studio下的可执行的proje

Android Studio中如何跳到某一个方法

http://androidren.com/index.php?qa=287&qa_1=android-studio%E4%B8%AD%E5%A6%82%E4%BD%95%E8%B7%B3%E5%88%B0%E6%9F%90%E4%B8%80%E4%B8%AA%E6%96%B9%E6%B3%95 我们在Eclipse中,跳到某一个方法使用的是CTRL + O,然后输入方法名.在Android Studio中,我们可以通过下面的方法: CMD+F12,然后输入方法名. 当然也会有另类玩法(工程大的

在Android Studio中调用so中的方法

本节用的so是上节用Android Studio创建的so.想在Android Studio中调用so中的方法,需要先引用so.Android Studio中引用so的方法有二种,下面开始介绍. 一 引用so  在app/src/main目录下新建Directory,命名文件夹为jniLIB(文件名不能错),把so文件放进去 ,如图: 二 编写java代码调用so中方法 ①在代码中引用so 创建myJNI.java文件,用System.loadLibrary加载so,同时声明so中的HelloW