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程序配置小结相关推荐

  1. AIR105 基于Keil开发点灯程序配置过程

    AIR105 基于Keil开发点灯程序配置过程

  2. 安卓 c 语言开发环境搭建,用C++语言开发Android程序 配置开发环境

    如果你是一个C++语言的死忠,你喜欢C++语言到了偏执的状态,如果不想学习Java语言,或者你很讨厌Java语言,如果你认为Java虚拟机的内存占用太多和执行低效.如果你过度关注Andoird程序的执 ...

  3. 用Kotlin开发android平台语音识别语义理解应用

    用Kotlin开发android平台语音识别,语义理解应用(olamisdk) 转载请注明CSDN博文地址:http://blog.csdn.net/ls0609/article/details/75 ...

  4. 用Kotlin开发android平台语音识别,语义理解应用(olamisdk)

    本文使用Kotlin开发Android平台的一个语音识别方面的应用,用的是欧拉密开放平台olamisdk. 1.Kotlin简介 Kotlin是由JetBrains创建的基于JVM的编程语言,Inte ...

  5. 使用Kotlin开发Android应用 - 环境搭建 (1)

    一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...

  6. 使用Kotlin开发Android应用初体验

    使用Kotlin开发Android应用初体验 昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之 ...

  7. kotlin开发Android入门篇八Kotlin开发Android的基本使用

    基础篇:Kotlin开发Android的基本使用 使用AndroidStudio3.0及以上开发Kotlin在新建项目中勾选这个选项则会默认开发语言为Koltin,然后再gradle(Project的 ...

  8. 使用Kotlin开发Android应用

    作者:snowdream Email:yanghui1986527#gmail.com QQ 群: 529327615 原文地址:https://snowdream.github.io/blog/20 ...

  9. 小米手机(HM1SW)高通开发android程序全过程

    小米手机(HM1SW)开发android程序全过程 修改历史: 2016年5月9日  --------  整理文档 a.增加了手机基本信息. b.增加360手机助手连接说明 2016年2月26日  - ...

最新文章

  1. Windows10 RS2正式版终于来了!升级有惊喜
  2. WindowManagerPolicy的后缀 解释
  3. 自媒体人怎样快速拥有自己的APP
  4. python本地读csv文件_python读写csv文件方法详细总结
  5. 生成docker镜像
  6. DTMF--VAD 项目分析
  7. nyoj--586(疯牛) poj --2456
  8. 带你一起学计算机专业英语!(IT行业、四六级党快记起来)《软件工程专业英语》第三单元:项目计划——单词、短语、名词缩写、难句
  9. 实验吧-密码学-杯酒人生(特殊凯撒--维吉尼亚密码)(凯撒加解密脚本、维吉尼亚密码加解密脚本)...
  10. 关于python的垃圾回收机制_Python的垃圾回收机制
  11. qtcpsocket断开_2020-05-06 QT子线程使用QTcpSocket连接服务器
  12. 【并发技术01】传统线程技术中创建线程的两种方式
  13. 采用组策略Loopback功能限制文件夹重定向路径
  14. 长沙 · 中国1024程序员节盛况空前,500 万程序员线上线下引爆星城
  15. MySQL JDBC URL参数(转)
  16. 推荐几款国产快速启动工具软件 总有一款适合你的
  17. Win 7 SSDP 组播 引发 局域网 QQ掉线 分析
  18. MSG数据(EUMETSAT)和GOES数据(NOAA)下载
  19. Arduino mixly 点灯科技(blinker) 在线电压监测(带电压高低提醒)
  20. 本地词库翻译php,有道词典词库(您也可以轻松翻译离线的有道词典词库)

热门文章

  1. oracle实现主键自动增长
  2. webService学习5:Eclipse的TCP/IP工具
  3. VUE之监听属性 watch
  4. android 按键会触发ontouch吗?_这次,我把Android事件分发机制翻了个遍
  5. python能做出exe程序么_教你用python做exe程序
  6. ssm三大框架工作原理_蒸发器最常见的三大工作原理
  7. nginx下使用asan和valgrind两个静态检查工具
  8. Pandas处理数据缺失值
  9. 《剑指offer》左旋转字符串
  10. wait(),notify(),notifyAll()进行了详细的分析介绍