最近因为项目学习需要,安装了一个最新版得Android studio,可是在安装好Android studio,自己下载配置好JDK1.8,配置环境,并在Android studio中 File->Other Settings -> Default Project Structure...中配置好JDK指向1.8得版本(本人不想使用AS自带得,所以重新安装了一个高一点得版本),如下
打开默认JDK路径并修改:
修改之后:
一切就绪之后,兴致勃勃得测试下,直接建一个空得项目(这里就不描述了,就是一步一步得选过去)。
建好空项目之后就直接打包到手机上看看可不可以,结果,尼玛直接闪退,死活点不开,报错得原因是说在包中找不到com.xxx.xxx,activity,即在包中找不大我得activity类(该报错很多时候还不出来,即不显示出来),可是明明我又这个类,配置文件中也注册了。
然后换个模拟器,见鬼了,竟然打开了,这就让我很奔溃了,于是网上各种查原因,网上得原因基本无外乎两种:
一;AndroidManifest.xml配置文件中没有配置Activity,
既然我得项目可以在模拟器上运行,那是不是就可以说明我得配置文件,乃至我整个项目其实都是没问题得。
二:build.gradle文件中没有设置好 compileSdkVersion等参数,
想一想,确实也有可能,毕竟本人手机是安卓系统8.1.0,SDK版本27,而模拟器是安卓系统4.2.2,SDK版本17。
然后本人又是对compileSdkVersion / buildToolsVersion / minSdkVersion / targetSdkVersion这几个参数恶补了一顿(https://blog.csdn.net/qq_15110681/article/details/98062454),恶补之后修改参数如下
compileSdkVersion是编译环境,只是编译得时候起作用,打包得时候不起作用,虽然设置成任何可用得都行,但还是建议设置 为最新得,可以让你很快得适应最新SDK版本得编译环境,所以本人设为29,也够了。
buildToolsVersion 是构建工具,要求和compileSdkVersion一个版本,不多解释。
minSdkVersion顾名思义,就是项目运行得最低SDK版本,即如果手机得SDK版本低于该参数,项目即无法运行,直接闪退,没 尝试过得可以试试看,直接参照你手机或者模拟器得SDK版本修改即可。
targetSdkVersion看明面意思就知道,就是你做得这个APP的受用群众最多得,即现在社会上人们使用的手机,哪个SDK版本用 户量 最多。
好了,一切就绪,待我修改完之后,感觉这下应该没问题了吧,但令人奔溃的是,这次还是闪退,你说伤不伤,累不累,都有点砸电脑的冲动了,为什么我的真机就闪退,模拟器就正常。
天不亡我,无意之间,突然翻看到这篇文章,瞬间满血复活,在此感谢题主好人一生平安:
https://blog.csdn.net/iblade/article/details/83150728
讲的很简单,就是手机的问题,我的手机是oppo r11,问题就出在这手机上,好了,直接修改
打开 File -> Settings... -> Build,Execution,Deployment -> Instant Run, ,去掉图中的三个勾,运行,OK了。
哎,心累。。。。。。。。。。。。。。。。。。。。。
附上Instant Run了解篇: https://blog.csdn.net/guolin_blog/article/details/51271369