小编xat*_*okk的帖子

Gradle Version Catalog 指定库构建类型

我正在使用版本目录重构一个多模块项目,并且必须添加当前如下所示的依赖项:

implementation com.mygroup:my-artifact:1.0.0:debug@aar
Run Code Online (Sandbox Code Playgroud)

由于版本目录不允许指定aar类型,解决方法是直接在 gradle 文件中指定它,如下所示:

implementation(libs.myDependency) { artifact { type = 'aar' } }
Run Code Online (Sandbox Code Playgroud)

这可行,但存在额外的复杂性:我还需要指定构建类型,在上面的示例中是debug,我找不到添加它的方法。

我尝试过的是:

TOML

[libraries]
myDependency = { module = "com.mygroup:my-artifact", version = "1.0.0:debug" }
Run Code Online (Sandbox Code Playgroud)

摇篮

implementation(libs.myDependency) { artifact { type = 'aar' } }
Run Code Online (Sandbox Code Playgroud)

由于某种原因这不起作用,我怎样才能指定构建类型?

gradle build.gradle toml

13
推荐指数
1
解决办法
2719
查看次数

WorkManager 现有工作策略 APPEND_OR_REPLACE 未按预期运行

我目前正在使用CoroutineWorkerfrom androidx.work:work-runtime-ktx:2.5.0.

我想要实现的是:

  1. 入队工人与beginUniqueWork和相同uniqueWorkName,与政策ExistingWorkPolicy.APPEND_OR_REPLACE
  2. 这将按顺序运行工作人员,如果工作失败或被取消,根据文档,预期行为将

如果存在失败或取消的先决条件,则这些先决条件将被删除,新指定的工作将成为新序列的开始。

发生的情况是,如果前一个工作人员也被取消(或失败),则所有或排队的工作人员都会被取消。ExistingWorkPolicy.APPEND这应该是but not的预期行为ExistingWorkPolicy.APPEND_OR_REPLACE

预期行为 -> 实际行为

有什么想法为什么会发生这种情况吗?如何避免排队的唯一工作人员也被取消?

android android-workmanager

9
推荐指数
1
解决办法
1779
查看次数

CameraX 正在使用广角相机

我已将 CameraX 设置为使用后置摄像头requireLensFacing(CameraSelector.LENS_FACING_BACK),但在具有多个摄像头的手机上进行测试时,它使用的是广角摄像头。我怎样才能让它改用普通相机?

https://developer.android.com/training/camerax

val cameraSelector = CameraSelector.Builder()
    .requireLensFacing(CameraSelector.LENS_FACING_BACK)
    .build()

val preview = Preview.Builder()
    .setTargetResolution(Size(binding.preview.width, binding.preview.height))
    .build()

val imageAnalysis = ImageAnalysis.Builder()
    .setTargetResolution(Size(binding.preview.width, binding.preview.height))
    .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
    .build()
    .also {
        it.setAnalyzer(cameraExecutor, analyzer)
    }

cameraProvider.unbindAll()

cameraProvider.bindToLifecycle(viewLifecycleOwner, cameraSelector, preview, imageAnalysis).also { camera ->
    camera.cameraControl.setZoomRatio(2F)
    preview.setSurfaceProvider(binding.preview.createSurfaceProvider(camera.cameraInfo))
}
Run Code Online (Sandbox Code Playgroud)

camera android android-camera2

7
推荐指数
0
解决办法
404
查看次数

使用 Gradle 版本目录时如何知道是否有可用的依赖项更新?

我的项目现在为其所有 Gradle 模块使用版本目录,并在其文件中使用依赖项的类型安全声明build.gradle。遗憾的是,当特定依赖项有可用更新时,我不再从 IDE 获得任何建议。

确定是否有任何依赖项可用的更新的最佳方法是什么,而不是手动逐一检查?

dependencies android gradle

7
推荐指数
1
解决办法
3096
查看次数