3
votes

Exclure les fichiers Kotlin de la compilation gradle dans Android Studio

Je souhaite exclure les fichiers Kotlin d'un dossier de la version gradle dans Android Studio. Cela fonctionne bien tant que les fichiers sont des fichiers .java mais lors de leur conversion en Kotlin, la commande d'exclusion ignore les fichiers Kotlin dans le dossier.

Ce qui suit est utilisé dans le fichier build.gradle de mes modules d'application pour exclure le dossier:

 sourceSets {
    main {
        java {
            exclude '**/folderToExclude'
        }
    }
}

J'ai déjà vérifié le lien suivant, mais la solution suggérée n'a pas fonctionné:

Comment exclure les fichiers kotlin de la compilation avec gradle


2 commentaires

La manière «correcte» est de déposer une demande de fonctionnalité pour le compilateur AGP et / ou Kotlin.


Je ne vois pas en quoi cette question est différente de Comment exclure les fichiers kotlin de la compilation avec gradle . La solution suggérée n'a pas fonctionné n'est pas une raison en soi d'ouvrir une question distincte. Si vous n'êtes pas satisfait d'une réponse, vous pouvez voter pour la question, ajouter des commentaires, proposer une prime ou passer le mot via d'autres canaux.


3 Réponses :


0
votes

essayez ci-dessous:

exclude '**/*.kt'

Cela exclura tous les fichiers avec l'extension .kt


2 commentaires

Merci pour votre réponse mais malheureusement cela ne fonctionne pas.


Je pense que le nom de votre fichier que vous écrivez est incorrect, vérifiez avec le nom du fichier



0
votes

Essayez ci-dessous, cela fonctionne sur ma machine.

android {
    ...

    sourceSets {
        main {
            java {
                exclude '**/your_file_1.kt',
                        '**/your_file_2.kt',
                        '**/your_file_3.kt',
                        '**/your_file_4.kt',
                        '**/your_file_5.kt'
            }
        }
    }

    ...
}


1 commentaires

Merci pour votre réponse. Cela ne fonctionne pas non plus pour moi. Les fichiers java que j'ai exclus lancent une exception ClassNotFoundException lors de leur accès dans le code, mais ce n'est pas vrai pour les fichiers Kotlin



0
votes

Vous pouvez exclure les chemins correspondant au modèle suivant:

android {
    sourceSets {
        main {
            java {
                exclude '**/TestExcludeClass.java'
            }

            kotlin {
                exclude '**/TestExcludeKotlinClass.kt'
            }
        }
    }
}


0 commentaires