小编And*_*ira的帖子

构建配置为更喜欢设置存储库而不是项目存储库,但存储库“maven”是由构建文件“build.gradle”添加的

我想将 jitpack.io 添加为我的 gradle 文件中的存储库。这是我的 gradle 根文件:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"

        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.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
}
Run Code Online (Sandbox Code Playgroud)

由于我没有“allrepositories”来放置我的依赖项(仅适用于那里),因此我在 buildscript 代码之后创建并添加了此代码:

allprojects {
    repositories {
        maven {url 'https://www.jitpack.io'}
    }
}
Run Code Online (Sandbox Code Playgroud)

但这是我得到的错误

Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository 'maven' was added …
Run Code Online (Sandbox Code Playgroud)

android gradle

327
推荐指数
8
解决办法
25万
查看次数

Android 11 中不显示权限对话框

在我的应用程序中,我需要访问 4 个权限(已在清单中声明)

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我检查我是否已经拥有权限,如果没有:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                requestPermissions(
                    arrayOf(
                          Manifest.permission.ACCESS_FINE_LOCATION,
                          Manifest.permission.ACCESS_COARSE_LOCATION,
                          Manifest.permission.ACCESS_BACKGROUND_LOCATION), 1)
            } else {
                ActivityCompat.requestPermissions(this, arrayOf(
                  Manifest.permission.ACCESS_FINE_LOCATION,
                  Manifest.permission.ACCESS_COARSE_LOCATION,
                  Manifest.permission.ACCESS_BACKGROUND_LOCATION), 1)
            }
Run Code Online (Sandbox Code Playgroud)

这段代码可以在我的模拟器中运行,该模拟器有 29 个 API。但在我自己的设备上,不会显示权限弹出窗口。你们知道为什么吗?

android kotlin

19
推荐指数
3
解决办法
1万
查看次数

Glide gradle 无法识别 ModelLoader

我正在尝试使用FirebaseUIFirebase Storage检索照片并使用Glide直接在我的图像视图中显示它。为此,我创建了一个ModelLoader,如 Firebase 文档中所示:

import com.bumptech.glide.Glide;
import com.bumptech.glide.Registry;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
import com.firebase.ui.storage.images.FirebaseImageLoader;
import com.google.firebase.storage.StorageReference;

import java.io.InputStream;

@GlideModule
public class MyAppGlideModule extends AppGlideModule {
    @Override
    public void registerComponents(Context context, Glide glide, Registry registry) {
        // Register FirebaseImageLoader to handle StorageReference
        registry.append(StorageReference.class, InputStream.class,
                new FirebaseImageLoader.Factory());
    }
}
Run Code Online (Sandbox Code Playgroud)

这个文件在我的项目文件夹中,所以 gradle 应该可以识别它。问题是,每次我运行应用程序并执行这行代码时: Glide.with(context!!).load(reference).into(binding.imgPhoto)出现此错误:

W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and …
Run Code Online (Sandbox Code Playgroud)

java android-glide firebaseui

5
推荐指数
1
解决办法
2500
查看次数

无法使用 @WorkerInject 注入 Worker

我正在尝试将数据注入我的 Worker,但它@WorkerInject给了我一个unresolved reference. 请记住,我在我的 gradle 中定义了这些:

def hilt_version = '2.38.1'
    implementation "com.google.dagger:hilt-android:$hilt_version"
    kapt "com.google.dagger:hilt-android-compiler:$hilt_version"
    def hilt_worker_version = '1.0.0'
    implementation "androidx.hilt:hilt-work:$hilt_worker_version"
    kapt "androidx.hilt:hilt-compiler:$hilt_worker_version"
Run Code Online (Sandbox Code Playgroud)

这是我的工人阶级:

class MyWorker @WorkerInject constructor(
    @Assisted val context: Context,
    @Assisted workerParams: WorkerParameters
) :
    Worker(context, workerParams) { ... }
Run Code Online (Sandbox Code Playgroud)

kotlin dagger-hilt

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

标签 统计

android ×2

kotlin ×2

android-glide ×1

dagger-hilt ×1

firebaseui ×1

gradle ×1

java ×1