Отключить доллары в именах в Android Studio при создании библиотеки AndroidJAVA

Программисты JAVA общаются здесь
Anonymous
 Отключить доллары в именах в Android Studio при создании библиотеки Android

Сообщение Anonymous »

При создании и создании библиотеки Android в Android Studio (Gradle) из Kotlin инструмент Java Auto Generating помещает доллары в классах и методах. Проблемы при попытке использовать его в библиотеке привязки Android. генерирует код Java из кода Kotlin? Факт, ядро ​​проблемы. < /p>
Вот пример моего кода Kotlin: < /p>
open class ExampleActivity : ComponentActivity() {

@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContentView(
ComposeView(this).apply {
setContent {
MaterialTheme {
Greeting(name = "compose")
}
}
}
)
}
}

< /code>
и извлечение полученного кода Java, содержащего скучные доллары: < /p>
private static final Unit Greeting$lambda$0(ExampleActivity $tmp0_rcvr, String $name, int $$changed, Composer $composer, int $force) {
$tmp0_rcvr.Greeting($name, $composer, RecomposeScopeImplKt.updateChangedFlags($$changed | 0x1));
return Unit.INSTANCE;
}
< /code>
или < /p>
static final class ExampleActivity$onCreate$1$1 implements Function2 {
@Composable
@ComposableTarget(applier = "androidx.compose.ui.UiComposable")
public final void invoke(Composer $composer, int $changed) {
ComposerKt.sourceInformation($composer, "C30@791L74,30@777L88:ComposeBind.kt#3l02gn");
if (($changed & 0x3) != 2 || !$composer.getSkipping()) {
...
< /code>
С тех пор, как я задал вопрос, я обнаружил, что способ Compose Works создает Lambdas и анонимные функции. И этот код с автогенерированием содержит доллары.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... id-library

Вернуться в «JAVA»