IDEA基于kotlin开发android程序配置小结
IDEA功能极其强大,和微软的宇宙第一IDE不相上下。用了很长时间,对它配置的完善性产生了近乎迷信的感情。似乎只要走正常渠道,用它来配置,没有不成功的。
IDEA是开发android原生程序的利器,android studio即是基于IDEA开发的工具。AndroidStudio能干的,IDEA同样能干的很好。kotlin是jetbrain开发的语言,堪称android上的swift,而且完美兼容java,配合起来相当爽利。但偏偏在kotlin的配置上,栽了个大跟头。
在android里引入kotlin很简单。先建立一个android project,然后直接建立kotlin activity即可。IDEA会很贴心的提醒你引入kotlin,并且自动修改build.gradle。一切都很好。然后,问题就来了,编译的时候报错了。
Error:Gradle: A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApkCopy'.
> Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7.
Required by:
KotAnd:app:unspecified
好吧,google半天,似是而非的谷歌到了,说找不到1.0.7的这个jar包,可能是版本问题。升到最新版1.1.1就好了。
改完重新导入,又报错了。
Error:Gradle: Execution failed for task ':app:compileDebugKotlin'.
> Compilation error. See log for more details
好吧,我傻眼了。让我看log我就去看log吧。log里一堆的报错。主要影响的貌似是这条信息。
java.io.FileNotFoundException: C:\Users\musarona\.IntelliJIdea2017.1\system\compile-server\kotand_2f6a3daa\gradle\configuration.xml (系统找不到指定的路径。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at com.intellij.openapi.util.JDOMUtil.load(JDOMUtil.java:304)
at org.jetbrains.jps.gradle.model.impl.JpsGradleExtensionServiceImpl.getGradleProjectConfiguration(JpsGradleExtensionServiceImpl.java:125)
at org.jetbrains.jps.gradle.model.impl.JpsGradleExtensionServiceImpl.getGradleProjectConfiguration(JpsGradleExtensionServiceImpl.java:113)
at org.jetbrains.jps.gradle.model.impl.GradleResourcesTarget.computeRootDescriptors(GradleResourcesTarget.java:69)
at org.jetbrains.jps.builders.impl.BuildRootIndexImpl.addRoots(BuildRootIndexImpl.java:72)
at org.jetbrains.jps.builders.impl.BuildRootIndexImpl.<init>(BuildRootIndexImpl.java:62)
at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:84)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:267)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:236)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
什么意思嘛,gradle找不到配置文件的路劲。难道是gradle没全局FQ,有些文件下载速度慢的问题。好吧,开全局FQ,换了几个地址。还是一样的报错。
难道1.1.1有问题?好吧,换1.1.0等几个版本一样的不行。
难道是maven的repo太慢?换上aliyun的repo,还是一样的。
查问题查到我想死,最后查到了一条信息,貌似IDEA在添加kotlin的时候,有些配置项没有添加进去。这怎么可能?这怎么可以!结果还真就是这样,问题就出在IDEA添加kotlin的时候的修改配置上。这种问题你让我怎么去预防啊。
总共要修改的地方有两处,一处是整个工程的build.gradle。
buildscript { ext.kotlin_version = '1.1.1' repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" //下面这一行是应该添加的配置 classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }} 另一处是module里的build.gradle
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'//下面是需要手工添加的pluginapply plugin: 'kotlin-android-extensions' 作为一个这么强大的工具,kotlin又是jetbrain自主研发的语言,搞出这样的问题,真让人想不到。必须记下来,时间又被谋杀了。
转载于:https://www.cnblogs.com/musarona/p/6740364.html
IDEA基于kotlin开发android程序配置小结相关推荐
- AIR105 基于Keil开发点灯程序配置过程
AIR105 基于Keil开发点灯程序配置过程
- 安卓 c 语言开发环境搭建,用C++语言开发Android程序 配置开发环境
如果你是一个C++语言的死忠,你喜欢C++语言到了偏执的状态,如果不想学习Java语言,或者你很讨厌Java语言,如果你认为Java虚拟机的内存占用太多和执行低效.如果你过度关注Andoird程序的执 ...
- 用Kotlin开发android平台语音识别语义理解应用
用Kotlin开发android平台语音识别,语义理解应用(olamisdk) 转载请注明CSDN博文地址:http://blog.csdn.net/ls0609/article/details/75 ...
- 用Kotlin开发android平台语音识别,语义理解应用(olamisdk)
本文使用Kotlin开发Android平台的一个语音识别方面的应用,用的是欧拉密开放平台olamisdk. 1.Kotlin简介 Kotlin是由JetBrains创建的基于JVM的编程语言,Inte ...
- 使用Kotlin开发Android应用 - 环境搭建 (1)
一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...
- 使用Kotlin开发Android应用初体验
使用Kotlin开发Android应用初体验 昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之 ...
- kotlin开发Android入门篇八Kotlin开发Android的基本使用
基础篇:Kotlin开发Android的基本使用 使用AndroidStudio3.0及以上开发Kotlin在新建项目中勾选这个选项则会默认开发语言为Koltin,然后再gradle(Project的 ...
- 使用Kotlin开发Android应用
作者:snowdream Email:yanghui1986527#gmail.com QQ 群: 529327615 原文地址:https://snowdream.github.io/blog/20 ...
- 小米手机(HM1SW)高通开发android程序全过程
小米手机(HM1SW)开发android程序全过程 修改历史: 2016年5月9日 -------- 整理文档 a.增加了手机基本信息. b.增加360手机助手连接说明 2016年2月26日 - ...
最新文章
- Windows10 RS2正式版终于来了!升级有惊喜
- WindowManagerPolicy的后缀 解释
- 自媒体人怎样快速拥有自己的APP
- python本地读csv文件_python读写csv文件方法详细总结
- 生成docker镜像
- DTMF--VAD 项目分析
- nyoj--586(疯牛) poj --2456
- 带你一起学计算机专业英语!(IT行业、四六级党快记起来)《软件工程专业英语》第三单元:项目计划——单词、短语、名词缩写、难句
- 实验吧-密码学-杯酒人生(特殊凯撒--维吉尼亚密码)(凯撒加解密脚本、维吉尼亚密码加解密脚本)...
- 关于python的垃圾回收机制_Python的垃圾回收机制
- qtcpsocket断开_2020-05-06 QT子线程使用QTcpSocket连接服务器
- 【并发技术01】传统线程技术中创建线程的两种方式
- 采用组策略Loopback功能限制文件夹重定向路径
- 长沙 · 中国1024程序员节盛况空前,500 万程序员线上线下引爆星城
- MySQL JDBC URL参数(转)
- 推荐几款国产快速启动工具软件 总有一款适合你的
- Win 7 SSDP 组播 引发 局域网 QQ掉线 分析
- MSG数据(EUMETSAT)和GOES数据(NOAA)下载
- Arduino mixly 点灯科技(blinker) 在线电压监测(带电压高低提醒)
- 本地词库翻译php,有道词典词库(您也可以轻松翻译离线的有道词典词库)
热门文章
- oracle实现主键自动增长
- webService学习5:Eclipse的TCP/IP工具
- VUE之监听属性 watch
- android 按键会触发ontouch吗?_这次,我把Android事件分发机制翻了个遍
- python能做出exe程序么_教你用python做exe程序
- ssm三大框架工作原理_蒸发器最常见的三大工作原理
- nginx下使用asan和valgrind两个静态检查工具
- Pandas处理数据缺失值
- 《剑指offer》左旋转字符串
- wait(),notify(),notifyAll()进行了详细的分析介绍