[英]Error: "Only the Kotlin standard library is allowed to use the 'kotlin' package"
我想在 Android studio 3.0.1 中構建我的第一個 kotlin 項目。 但我得到了這兩個錯誤:
只允許 Kotlin 標准庫使用 'kotlin' package。
錯誤:任務 ':app:compileDebugKotlin' 執行失敗。
如何使用或添加 Kotlin 標准庫?
顯現:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="kotlin.amirreza.mykotlinproject">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
gradle:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 26
defaultConfig {
applicationId "kotlin.amirreza.mykotlinproject"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:0.5'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
}
您將包名稱設置為kotlin
。
將.kt
文件中的所有package kotlin
語句更改為package kotlin
類的package mykotlintest
正如錯誤所說:
只允許 Kotlin 標准庫使用 'kotlin' 包
您不能使用 ' kotlin ' 作為您的包名稱,並且您的包 (applicationId) 是:
kotlin.amirreza.mykotlinproject
因此,您必須通過重命名或使用另一個包名稱創建新應用程序將其更改為其他內容
可以通過在-Xallow-kotlin-package
時添加-Xallow-kotlin-package
參數來解決此問題,這就是 Kotlin 為構建自身所做的。 但是更改包名是一個更簡潔的解決方案。
正如@EmmanuelBourg 正確提到的,下面有一些代碼可以做到這一點
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions.freeCompilerArgs += ["-Xallow-kotlin-package"]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.