日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IDEA基于kotlin开发android程序配置小结

發布時間:2024/1/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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'
//下面是需要手工添加的plugin
apply plugin: 'kotlin-android-extensions'

作為一個這么強大的工具,kotlin又是jetbrain自主研發的語言,搞出這樣的問題,真讓人想不到。必須記下來,時間又被謀殺了。

轉載于:https://www.cnblogs.com/musarona/p/6740364.html

總結

以上是生活随笔為你收集整理的IDEA基于kotlin开发android程序配置小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。