java.lang.RuntimeException Unable to instantiate application Caused by: java

修改一行代码,搞定通过Apk方式安装应用闪退之 java.lang.RuntimeException Unable to instantiate application
Caused by: java.lang.ClassNotFoundException: Didn’t find class "com…activity
着急的朋友,看最后几句话就行了!!!!!(本文前面讲述可能是你踩过和我一样的坑!!!,重要的就改一个地方就行,着急解决问题的看最后几句话。。)
解决在Android Studio上可以运行程序安装到手机,但是把debug.apk安装包放在手机里面再运行安装就闪退问题
出现
java.lang.RuntimeException Unable to instantiate application
Caused by: java.lang.ClassNotFoundException: Didn’t find class "com…activity
纳尼??
Activity这个类都找不到了??我的路径,包名,还有activity也不是抽象的,清单文件activity的路径也对
该加.ui.SplashActivity的也加了,无赖,搞了一天
第二天去公司,看自己在公司写的demo也是这个情况,而以前的写好的项目就不会出现这个情况
我就开始对比,找原因,终于被我找到了。
出现原因,手痒要安装最新版Android Studio 2.3.1
去google官网下载安装包,安装完成,创建项目,就给你默认用gradle3.3,就默认去下载gradle3.3
然后,因为长城,可能你要下一整天,然后只能关掉去gradle官网下载3.3
之后,恭喜你成功走入Google工程师的坑,3.3就是有问题,我不造为啥,也不要问我
继续往下看。
解决方法:
出现这个异常,是因为
工程里面的 gradle wrapper gradle-wrapper.roperties里面
distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip
gradle版本是是gradle-3.3-all.zip
//打包出来的apk包只有400-600kb(HelloWorld这种项目),虽然HelloWorld项目不大,打出来的apk确实很小,
但是用gradle3.3和gradle2.14.1打包差别很大,使用gradle3.3的Helloworld的debug包大小只有400-600kb,
而用gradle2.14.1 Hellorold的debug包有1.3MB左右,我就怀疑这个有问题,就去把这个gradle 改为低版本的,
改了之后,问题又来了
纳尼???
Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 2.14.1.
Please fix the project’s Gradle settings.
Fix Gradle wrapper and re-import project

最小支持的gradle版本是3.3,当前版本是2.14.1
点击修复??
不能,点击修复就把你改回
distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip
??肿么办,只有这个按钮可以点击
出现的提示版本的原因是
项目里面的gradle
dependencies {
// classpath ‘com.android.tools.build:gradle:2.3.0’
classpath ‘com.android.tools.build:gradle:2.2.3’
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
//你只需要像我一样,把grale:2.3.0改为2.2.x或者直接改和我一样就行了
之后可能Studio会提示你升级gradle为3.3,让他闭嘴就行。
改完之后,同步,运行没问题,把build文件夹下生成的apk包传到手机上在安装也不会出现闪退问题
这时候,观察一下debug.apk,已经有1.3MB左右了,不是以前的300kb左右的了。
我太啰嗦了,来个简单粗暴的
不要使用gradle3.3,去gradle官网下载比他低的,比如2.14.1
然后clen工程,OK。
到底是什么原因???真的是这样的么????
我真的很伤,所以一定要弄清楚,然后,我就开始捣鼓,增删改查都用了,,,,是不是回归数据库了???
如下:
第一波:
本人亲测,gradle3.2-all和gradle-3.5-all都可以,gradle3.5-all下载后
distributionUrl=https://services.gradle.org/distributions/gradle-3.5-all.zip
配置了之后,关闭AndroidStudio,重新打开,会自动去下载,然后把下载好的3.5放到gradle3的文件夹
Studio没有自动解压,然后我就手动解压了,在Settings 里面的gradle路径设置一下就可以了。
然而。打的debug.apk都是1.3MB,肯定不是这个gradle版本问题!!!
第二波:
改工程下的build.gradle

classpath ‘com.android.tools.build:gradle:2.3.0’
大坑啊啊啊啊!!!!把它改为2.3.0就apk就是400KB ,然后安装到手机上,果然,不能启动!!!
原因得到了。。。

解决方法如下 ,记住,一行代码,Only改一行代码,,,如下。


工程下的build.gradle文件修改
dependencies {
classpath ‘com.android.tools.build:gradle:2.2.3’
// classpath ‘com.android.tools.build:gradle:2.3.0’ (干掉这句,,,,换成比他小的版本的!!!)
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
把2.3.0干掉,这个插件害人!改为比它低的。终于找到问题所在,把gradle3.2-all换成3.3也米有问题了!!!

根不不是distributionUrl=https://services.gradle.org/distributions/gradle-3.5-all.zip版本问题

ok了终于,一句代码搞定!!!与其他的都没有关系,害我重装两次studio,搞了两天半,就因为这句代码,,,哎。。。

修改一行代码,解决Apk方式安装应用闪退之 java.lang.RuntimeException Unable to instantiate application
Caused by: java.lang.ClassNotFoundException: Didn’t find class "com…activity
解决出现的问题是,Apk通过数据线连接电脑可以直接安装apk,发送debug包或者打包安装后打开闪退问题。
一行代码如下
classpath ‘com.android.tools.build:gradle:2.3.0’ (干掉这句,,,,换成比他小的版本的!!!比如2.2.3)


本文来自 xufazhong 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xufazhong/article/details/71155528?utm_source=copy

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值