Android Studio仅为多模块项目中不依赖模块的模块生成R文件

时间:2019-02-07 21:27:58

标签: android gradle kotlin android-studio-3.3

从3.2.something更新到AS 3.3.1之后,我遇到了一个奇怪的错误:R文件仅针对未实现任何其他模块的模块生成。 我仍然可以通过cmd + B编译项目或转到声明,但是每个资源文件(如rank == 0都带有“未解决的引用”消息,直到从模块{中删除每个模块实现为止) {1}}并重新同步项目。

据我所知,该问题与android gradle 3.3.0或kotlin 1.3无关,因为我的旧项目也受到了影响。

我已经尝试过的:

  • 清洁/重建项目
  • 使缓存无效
  • 重新同步Gradle
  • 切换到Android Gradle 3.2.1
  • 删除#include <stdio.h> #include <mpi.h> int main(void) { char rank_0_state; char rank_1_state; MPI_Init(NULL, NULL); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); if (world_size != 2) return 1; int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); if (rank == 0) rank_0_state = 'I'; if (rank == 1) rank_1_state = 'S'; if (rank == 0) { MPI_Status status; MPI_Recv(&rank_1_state, 1, MPI_BYTE, 1, 0, MPI_COMM_WORLD, &status); } if (rank == 1) MPI_Send(&rank_1_state, 1, MPI_BYTE, 0, 0, MPI_COMM_WORLD); if (rank == 0) { if (rank_0_state == 'I' && rank_1_state == 'S') { printf("I am rank 0 receiving the right value from rank 1\n"); } } MPI_Finalize(); return 0; } 目录

这是我的projectmodule build.gradle exampleused libraries。 例如,如果我在R.layout.activity_main中的build.gradle行中添加注释,该错误就会消失。显然,这不是解决方案。

UPD:已解决

解决方案:您必须在每个.idea文件中指定不同的包名称,即implementation(project(":presentation"))用于启动器模块,mainscreen/build.gradle.kts用于表示模块 et cetera 。 / p>

1 个答案:

答案 0 :(得分:0)

[解决方案1] 您可以从系统中删除gradle的旧版本,然后开始安装其新版本。

[解决方案2] 或删除Android Studio并重新安装