- модуль приложения
- модуль представления (модуль Android)
- модуль домена (модуль Kotlin)
- модуль данных (модуль Android)
презентация -> домен
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
VenuesScreenRoot(
)
}
}
}
}
}
Когда я запускаю сборку в режиме отладки, все работает, но если я переключусь на выпускную сборку (с включенным минимизацией), она сломается.
Модуль приложения генерирует этот файл Missing_rules.txt
код>
# Please add these rules to your existing keep rules in order to suppress warnings.
# This is generated automatically by the Android Gradle plugin.
-dontwarn com.temp.data.di.SingletonModule
-dontwarn com.temp.data.di.SingletonModule_ProvideHttpClientFactory
-dontwarn com.temp.data.di.SingletonModule_ProvideRemoteVenuesDataSourceFactory
-dontwarn com.temp.presentation.theme.ThemeKt
-dontwarn com.temp.presentation.venus.VenuesScreenKt
-dontwarn com.temp.presentation.venus.VenuesViewModel
и это сообщение об ошибке:
Missing class com.temp.data.di.SingletonModule (referenced from: com.temp.data.di.SingletonModule com.temp.DaggerHoaxCoffeeApplication_HiltComponents_SingletonC$Builder.singletonModule and 5 other contexts)
Missing class com.temp.data.di.SingletonModule_ProvideHttpClientFactory (referenced from: java.lang.Object com.temp.DaggerHoaxCoffeeApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get())
Missing class com.temp.data.di.SingletonModule_ProvideRemoteVenuesDataSourceFactory (referenced from: java.lang.Object com.temp.DaggerHoaxCoffeeApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get())
Missing class com.temp.data.di.SingletonModule_ProvideTempFactory (referenced from: java.lang.Object com.temp.DaggerHoaxCoffeeApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get())
Missing class com.temp.presentation.theme.ThemeKt (referenced from: void com.temp.ComposableSingletons$MainActivityKt$lambda-3$1.invoke(androidx.compose.runtime.Composer, int))
Missing class com.temp.presentation.venus.VenuesScreenKt (referenced from: void com.hoax.coffee.ComposableSingletons$MainActivityKt$lambda-1$1.invoke(androidx.compose.foundation.layout.PaddingValues, androidx.compose.runtime.Composer, int))
Missing class com.temp.presentation.venus.VenuesViewModel (referenced from: void com.temp.ComposableSingletons$MainActivityKt$lambda-1$1.invoke(androidx.compose.foundation.layout.PaddingValues, androidx.compose.runtime.Composer, int))
и
Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.g: Missing class com.temp.data.di.SingletonModule (referenced from: com.temp.data.di.SingletonModule com.temp.DaggerHoaxCoffeeApplication_HiltComponents_SingletonC$Builder.singletonModule and 5 other contexts)
Но я не хочу добавлять файлы сохранения в модуль приложения, потому что в конечном итоге мне пришлось бы добавлять так много всего, что я потерял бы смысл R8.Как вы можете видеть, я также создал файл Theme и VenusViewModel в пакете презентации, и R8 также жалуется на это.
Если бы мне пришлось добавлять каждую модель представления, которую я создаю, в пакет презентации, тогда R8 просто потеряет смысл.
agp = "8.5.1"
hilt = "2.51.1"
kotlin = "2.0.0"
ksp = "1.8.10-1.0.9"
Подробнее здесь: https://stackoverflow.com/questions/787 ... running-r8