在 AGP 7.0.0-alpha15 之前,我可以像这样更改应用程序的版本代码
android {
defaultConfig {
applicationVariants.all {
if (buildType.name == "debug") {
outputs.forEach { output ->
(output as? com.android.build.gradle.internal.api.ApkVariantOutputImpl)?.versionCodeOverride = 1
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
applicationVariants AGP 7.0.0-alpha15 之后好像不见了,怎么改?
PS:在普通的 gradle 中似乎没问题,上面是 Kotlin
编辑
通过下面的回答,我能够在构建中覆盖版本代码:
android {
androidComponents.onVariants { appVariant ->
if (appVariant.buildType == "release") {
appVariant.outputs.forEach {
it.versionCode.set(1)
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用androidx.paging:paging-compose(v1.0.0-alpha-14)和Jetpack Compose(v1.0.3),我有一个PagingSource负责从后端提取项目的自定义。我还使用撰写导航组件。
问题是我不知道如何在通过 NavHostController 导航到不同屏幕和返回之间保存寻呼机流程的状态(滚动状态和缓存项目)。我试图通过保存状态,rememberSaveable但无法完成,因为它不是可以放入 Bundle 的东西。有一个快速/简单的步骤来做到这一点吗?
我的示例代码:
@Composable
fun SampleScreen(
composeNavController: NavHostController? = null,
myPagingSource: PagingSource<Int, MyItem>,
) {
val pager = remember { // rememberSaveable doesn't seems to work here
Pager(
config = PagingConfig(
pageSize = 25,
),
initialKey = 0,
pagingSourceFactory = myPagingSource
)
}
val lazyPagingItems = pager.flow.collectAsLazyPagingItems()
LazyColumn() {
itemsIndexed(items = lazyPagingItems) { index, item ->
MyRowItem(item) {
composeNavController?.navigate(...)
}
}
}
}
Run Code Online (Sandbox Code Playgroud) android android-paging android-jetpack-compose android-paging-3
我正在尝试打开提拉米苏(Android 13 - Api33)中引入的新应用程序区域设置屏幕
我正在使用 Androd 13 的当前模拟器(修订版 6),并且在尝试使用以下命令打开它时
override fun openAppLocaleSettings(activity: Activity) {
activity.startActivity(
Intent(Settings.ACTION_APP_LOCALE_SETTINGS, Uri.parse(context.packageName))
)
}
Run Code Online (Sandbox Code Playgroud)
我越来越
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APP_LOCALE_SETTINGS dat= }
Run Code Online (Sandbox Code Playgroud)
上面的代码有问题吗,或者Android还没有实现?