Deaktivieren Sie in Android Studio, wenn Sie die Android -Bibliothek aufbauen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Deaktivieren Sie in Android Studio, wenn Sie die Android -Bibliothek aufbauen

by Guest » 07 Feb 2025, 13:47

Beim Erstellen und Erstellen einer Android -Bibliothek in Android Studio (Gradle) aus Kotlin bringt das Java Auto -Generierungswerkzeug Dollar in Klassen und Methodennamen ein. Probleme beim Versuch, es in der C# Android -Bindungsbibliothek zu verwenden. Generiert Java -Code aus Kotlin Code? Tatsache, der Kern des Problems.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>
und ein Extrakt des resultierenden Java -Codes, der Bohrung Dollar enthält: < /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>
oder < /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>
Da ich die Frage gestellt habe, stellte ich fest, dass die Art und Weise, wie das Zusammensetzen von Werken, Lambdas und anonyme Funktionen erstellt. Und dieser autogenerierte Code enthält Dollar.
Ich glaube nicht, dass es eine Lösung dafür gibt, aber wenn jemand eine Idee hat, wäre es großartig.>

Top