几天来,我一直试图成功地构建我正在进行的项目(使用Jetpack Compose),但当我更新gradle构建插件和其他一些依赖项时,我无法正确运行该项目。有一些gradle版本与dagger-hilt依赖项冲突,我不知道如何修复它。我正在使用Android Studio的金丝雀测试版。
这里还有我所有的gradle构建文件:
Gradle构建模块应用程序:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'kotlin-parcelize'
id 'dagger.hilt.android.plugin'
}
android {
compileSdk 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.example.mycomposedemo"
minSdk 21
targetSdk 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion "1.0.0-beta07"
kotlinCompilerVersion '1.5.0'
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.5.10'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation "androidx.compose.ui:ui:1.0.0-beta08"
implementation "androidx.compose.material:material:1.0.0-beta08"
implementation "androidx.compose.ui:ui-tooling:1.0.0-beta08"
implementation "androidx.navigation:navigation-compose:2.4.0-alpha02"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.activity:activity-compose:1.3.0-beta01'
implementation "androidx.compose.runtime:runtime-livedata:1.0.0-beta08"
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha06'
implementation "androidx.compose.animation:animation:1.0.0-beta08"
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.0.0-beta08"
// Room components
implementation "androidx.room:room-runtime:2.3.0"
kapt "androidx.room:room-compiler:2.3.0"
implementation "androidx.room:room-ktx:2.3.0"
androidTestImplementation "androidx.room:room-testing:2.3.0"
// Lifecycle
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.3.1"
// Kotlin components
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-native-mt"
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-native-mt"
// Dagger - Hilt
implementation "com.google.dagger:hilt-android:2.35.1"
kapt "com.google.dagger:hilt-android-compiler:2.35.1"
// Accompanist System UI Controller
implementation "com.google.accompanist:accompanist-systemuicontroller:0.8.1"
}
Gradle构建(项目层级):
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.0-alpha01'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.35.1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
错误:
“无效通信。Android建筑应用程序编程接口。扩大AndroidComponentExtension$DefaultImpls。androidTests$default(com.android.build.api.extension.AndroidComponentsExtension,com.android.build.api.extension.VariantSelector,kotlin.jvm.functions.Function1,int,java.lang.Object)'
>
尝试:使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的洞察力。
错误2:
找不到方法“”void com.Android建筑应用程序编程接口。扩大AndroidComponentExtension$DefaultImpls。androidTests$default(com.android.build.api.extension.AndroidComponentsExtension,com.android.build.api.extension.VariantSelector,kotlin.jvm.functions.Function1,int,java.lang.Object)“”无效com.Android建筑应用程序编程接口。扩大AndroidComponentExtension$DefaultImpls。androidTests$default(com.android.build.api.extension.AndroidComponentsExtension,com.android.build.api.extension.VariantSelector,kotlin.jvm.functions.Function1,int,java.lang.Object)'
Gradle的依赖缓存可能损坏(有时会在网络连接超时后发生)。
重新下载依赖项和同步项目(需要网络)Gradle构建进程(守护进程)的状态可能已损坏。停止所有Gradle守护进程可以解决这个问题。
停止Gradle生成过程(需要重新启动)您的项目可能正在使用与项目中的其他插件或项目所请求的Gradle版本不兼容的第三方插件。
在Gradle进程损坏的情况下,您也可以尝试关闭IDE,然后杀死所有Java进程。
Hilt Gradle插件2.35存在问题。x和Android Gradle插件
7.1。0-alpha01
。
这应该通过使用匕首释放此提交来修复
2.36
我想知道什么是喷气背包中的脚手架组成一个BottomAppBar示例任何人都可以帮我
我创建了一个项目,并添加了插件和dependency,我还对其进行了测试,结果很好。但当我重构项目以使用并启用jetifier工具项目不会构建,我会遇到多个错误,如: 转换文件“crashlytics-2.9.2.aar”以匹配属性{artifactType=jetitied-aar}失败 似乎< code>jetifier工具和< code>Crashlytics依赖项有问题。有没有办法关闭单个
可以在Jetpack Compose中进行权重吗?例如,我想以这样一种方式设置它,即一个项目被加权为布局的1/3,而另一个占剩余的2/3。 在XML/ViewGroup样式中,可以使用LinearLayouts和ConstraintLayouts来实现这一点。然而,令我沮丧的是,使用Jetpack Compose似乎是不可能的。 示例: 在ConstraintLayout中,这是按如下方式完成的:
我想根据条件更改我的开始导航片段。我的起始片段可以是片段1或片段2。有没有办法实现它?
我有一个包含多个< code>LazyRow的< code>LazyColumn。在旧术语中,嵌套RecyclerView。 我的问题是,当移动到一个新的可组合(不同的选项卡)时,不会恢复滚动状态。但是内部s恢复它们的状态。 例如,打开主屏幕,滚动到底部,然后滚动结束,然后打开不同的选项卡并再次返回主选项卡。 的产品进行评级 如何恢复滚动状态?
如何从下方显示惰性列?默认情况下,它显示上面的列表