论第一次使用安卓studio并导入项目却出错差点死去

安卓studio已经下了一个星期,最开始不以为意,安装后等着把项目拉下来编译就好了,可是已编译后,就是一个红色bug,该bug

Failed to calculate the value of task ':app:compileDebugJavaWithJavac' property 'options.generatedSourceOutputDirectory'.

这个类似的问题

解决的办法在网上一大堆,也去试着解决问题弄了一堆,结果还是不行,这个软件对新手及其不友好,实在不行,找技术总监来帮忙解决,解决掉了(感谢我技术总监不嫌我是个菜狗)

1 安卓上的项目不太一样,这玩意TM的矫情,一定要版本适配,我就搞不懂,你高版本不能容忍低版本,你高版本有啥用。

2 Java包也要设置一个合适的包

3 grandle是一个很重要的东西,自己要去学习适当的东西,去看懂他写的什么意思,不用学太多,毕竟构建整个项目需要足够实力的,,,,,,,,

4 由于是在安卓上的APP,所以 JAVA包环境变量要设置对,andrio studio是需要一个JAVA_HOME 的,以前没用过这个的或者有工具以前下过JAVA包的,要去看环境变量配置对不对,以及原本的JAVA包合不合适该项目

5 在项目中的grandle会指明需要的grandle版本号,他也会下载对应的版本号。

6 JDK和NDK 除了项目自身问题,只要自己拉的项目 过不掉,肯定不是代码有问题,配置有问题(绝对的),而这两个又是绝对的一大陷阱,我这次编译不过就是因为NDK不对

安卓studio有两个重要看设置的地方,一个是file里面的project structure 一个是setting,这几个可以看到grandle和JDK和NDK,NDK可能需要下载一个适合的,软件也是代码,符合冯诺依曼的思想,输出输入都是相匹配的,编译不过就是输入数据不对,即配置的数据不对。

7 在project structure有会点不动的情况,这个时候说明NDK就出问题了,所以去tools\sdk manager setting里面找到andrio SDK 那儿 ,再看报错信息,可能NDK不对,需要重新下载一个版本,TM的,安卓studio有病,高版本不把低版本所有的功能涉及,你TM发啥高版本啊。

ndk(side by side):

一句话总结,使用ndk(side by side)不需要在build.gradle中配置ndk.dir
无论安装哪种,都需要让安装的ndk版本与ndkVersion指定的版本一致。

另外现在ndk包的安装在sdkmanager中是标记为过时的,需要钩上显示过时包才能看到。
推ndk(side by side)是为了方便同时支持不同版本的ndk(转自啊循的分享)

在这次编译项目遇到上面问题怎么解决的,给自己记一个顺序

1 通过

编译,看看报什么错,一般会有显示什么没配置,或者不匹配,比如JAVA包环境变量不对,NDK版本不对,

环境变量

首先,我因为以前没用过JDK,但是有工具又用过JDK,所以有JDK,但是不对,没有设置JAVA_HOME ,而且版本可能也不对,这儿我用的是领导给的JDK-17,放在了C:\Program Files\Java里面,然后在系统环境变量里面设置Java_home该为C:\Program Files\Java\JDK-17,并在path里面设置,然后这个环境变量就配置好了,工具可以自己找到

grandle

项目中的grandle.build会设置需要的grandle版本,工具也会自动下载。这个我也不太清楚是什么情况,但是我还指定了一个grandle路径,版本高于build里面要求的版本,我也不晓得为啥子这样设置可以,难道是因为高版本了?如图所示

这个setting是从文件那个选项里面找到的,可以在这儿设置自己放的grandle压缩包位置,还有也可以看到自己用的JDK版本号及位置,难道真正用的grandle是这个,用这个granddle去构建的项目?

SDK 

这个在工具下载下来,就会有这个,自己要设置好把他存放在那儿的路径,在工具file-project sttructure里面可以看到包括grandle和NDK,SDK和NDK的位置可以在项目local.property里面设置(这个好像是机器自动设置还是什么的,自己编译项目前去看一下这个设置的对不对),但是现在一般是只设置SDK了,NDK是如上面讲述的,需要在工具中去下载。

NDK

我现在就是这个问题导致的,因为没有下载正确版本的(能兼容的)NDK,导致出错,其实因为这个项目把编译不过,自己把总监的工具全部粘贴过来了,包括他用的JAVA包,SDK包这些,并按照他在电脑上设置的路径完完全全一摸一样弄的,然后编译不过,发现这个NDK版本报错,就安装了他建议的版本就对了,其实我觉得直接安装最新的版本就可以了,但是由于项目紧,不敢配置这个耽误时间,只有项目过后再去实验了,其实还有上面我说的工具放的这些年路径这些,我觉得其实可以随意放,指明正确就对,还有就是应该NDK可以自己去下载放在哪儿,在工具里面指向清楚,可能是因为我自己把NDK或者JDK环境变量指向没弄对才报错,我现在所有文件都放在C盘,我的C盘要崩了啊啊啊啊啊

今天总监给我好一会儿,排查出来(因为我什么信息都没给他讲,他自己东点西点就成功了,我真是万个卧槽)一点脾气没法,果然搞技术要耐住性子,要有逻辑去思考,不要盲目去瞎弄。搞技术的脾气都挺好的,因为发脾气反而耽误时间(dog)记一下,项目过了,再来慢慢实验上面的疑问,我干他大爷的,老子还弄不了你一个安卓小虾米了?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值