質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

0回答

1979閲覧

Android buildSrcでKotlinを使って共通化したい

iMASAKI

総合スコア12

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/09/07 01:11

実現したいこと

buildSrcにgradleファイルの共通部分をまとめたktsファイルを作成し、
それを他のgradle.ktsファイルから利用できるようにしたいです。
buildSrc

問題点

kts

1// scripts/common.gradle.kts 2plugins { 3 id("dagger.hilt.android.plugin") 4 id("kotlin-kapt") 5} 6 7android { 8 compileSdkVersion(30) 9} 10 11 12dependencies { 13 implementation("com.google.dagger:hilt-android:2.28-alpha") 14 kapt("com.google.dagger:hilt-android-compiler:2.28-alpha") 15}

以上のようにファイルを作成すると、以下のエラーが発生します。
androidブロックの参照ができないようです。

> Task :buildSrc:compileKotlin FAILED The `kotlin-dsl` plugin applied to project ':buildSrc' enables experimental Kotlin compiler features. For more information see https://docs.gradle.org/6.1.1/userguide/kotlin_dsl.html#sec:kotlin-dsl_plugin e: G:\android projects\MultiModuleApplication\buildSrc\src\main\java\scripts\common.gradle.kts: (6, 1): Expression 'android' cannot be invoked as a function. The function 'invoke()' is not found e: G:\android projects\MultiModuleApplication\buildSrc\src\main\java\scripts\common.gradle.kts: (6, 1): Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: internal val ComPluginGroup.android: ComAndroidPluginGroup defined in gradle.kotlin.dsl.plugins._7ef308fad1fca30796f7bc26f693b5a9 in file PluginSpecBuilders.kt internal val PluginDependenciesSpec.android: PluginDependencySpec defined in gradle.kotlin.dsl.plugins._7ef308fad1fca30796f7bc26f693b5a9 in file PluginSpecBuilders.kt e: G:\android projects\MultiModuleApplication\buildSrc\src\main\java\scripts\common.gradle.kts: (7, 5): Unresolved reference: compileSdkVersion e: G:\android projects\MultiModuleApplication\buildSrc\src\main\java\scripts\common.gradle.kts: (12, 5): Unresolved reference: implementation e: G:\android projects\MultiModuleApplication\buildSrc\src\main\java\scripts\common.gradle.kts: (13, 5): Unresolved reference: kapt

関連する他のファイル

buildSrc/build.gradle.kts

kts

1plugins { 2 `kotlin-dsl` 3 `kotlin-dsl-precompiled-script-plugins` 4} 5 6repositories { 7 jcenter() 8 google() 9} 10 11dependencies { 12 implementation("com.android.tools.build:gradle:4.0.1") 13}

project/build.gradle.kts

buildscript

1 val kotlin_version = "1.4.0" 2 repositories { 3 google() 4 jcenter() 5 } 6 dependencies { 7 classpath("com.android.tools.build:gradle:4.0.1") 8 classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") 9 classpath("com.google.dagger:hilt-android-gradle-plugin:2.28-alpha") 10 // NOTE: Do not place your application dependencies here; they belong 11 // in the individual module build.gradle files 12 } 13} 14 15allprojects { 16 repositories { 17 google() 18 jcenter() 19 } 20}

参考にしているプロジェクト

android10/Android-CleanArchitecture-Kotlin
このプロジェクトでも同様にbuildSrc下にktsファイルを置いて、共通化をしています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問