Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 构建风格似乎忽略了kotlin文件夹_Android_Kotlin - Fatal编程技术网

Android 构建风格似乎忽略了kotlin文件夹

Android 构建风格似乎忽略了kotlin文件夹,android,kotlin,Android,Kotlin,所以,我很久以前就在Android Studio上安装了我的应用程序。这个应用有三个不同的版本,所以我制作了三个模块,将所有内容都放在一个项目中。这比有三个单独的项目要整洁,但当我不得不更新翻译时却一团糟,因为模块不共享res文件夹 我想改用BuildFlavors。我在my build.gradle中设置了构建风格,如下所示: sourceSets { main.kotlin.srcDir 'src/main/kotlin' general.kotlin.srcDir

所以,我很久以前就在Android Studio上安装了我的应用程序。这个应用有三个不同的版本,所以我制作了三个模块,将所有内容都放在一个项目中。这比有三个单独的项目要整洁,但当我不得不更新翻译时却一团糟,因为模块不共享res文件夹

我想改用BuildFlavors。我在my build.gradle中设置了构建风格,如下所示:

    sourceSets {
    main.kotlin.srcDir 'src/main/kotlin'
    general.kotlin.srcDir 'src/general/kotlin/myapp/hey/find/'
    pici.kotlin.srcDir 'src/pici/kotin/myapppici/hey/find/'
    errico.kotlin.srcDir 'src/errico/kotlin/myapperrico/hey/find'
}
flavorDimensions 'intera'
productFlavors {
    general {
        dimension 'intera'
        applicationId 'myapp.hey.find'
        versionCode 45
        versionName "1.9"
        manifestPlaceholders.lancioActivity = "myapp.hey.find.lancio"
        manifestPlaceholders.attiv = "myapp.hey.find.Launcher"
    }
    pici {
        dimension 'intera'
        applicationId 'myapppici.hey.find'
        versionCode 5
        versionName "1.3"
        manifestPlaceholders.lancioActivity = "myapppici.hey.find.lancio"
        manifestPlaceholders.attiv = "myapppici.hey.find.Launcher"
    }
    errico {
        dimension 'intera'
        applicationId 'myapperrico.hey.find'
        versionCode 13
        versionName "2.1"
        manifestPlaceholders.lancioActivity = "myapperrico.hey.find.lancio"
        manifestPlaceholders.attiv = "myappveh.hey.find.Launcher"
    }
那么代码本身就是这样安排的

|general
------|src
-----------|general
-------------|assets
-------------|kotlin
----------------|myapp
--------------------|hey
------------------------|found
----------------------------|lancio
----------------------------|Launcher
-----------|pici
-------------|assets
-------------|kotlin
----------------|myapppici
--------------------|hey
------------------------|found
----------------------------|lancio
----------------------------|Launcher
-----------|errico
-------------|assets
-------------|kotlin
----------------|myaperrico
--------------------|hey
------------------------|found
----------------------------|lancio
----------------------------|Launcher
它们都有一个清单,我在其中使用占位符来声明活动,清单构建后看起来很好

“通用”构建风格似乎很好。另外两个buildFlavor,即使它们有正确的包名,也会抱怨R(参考资料)的未解析引用。如果我手动导入包,他们甚至会抱怨

最重要的是,“通用”建筑风格,一旦建成,就无法正确构建。似乎根本没有加载kotlin类,因为一旦打开应用程序,它就会强制关闭,出现“ClassNotFound”异常

我做错了什么?在正确指定Kotlin src文件夹时,我是否遗漏了什么