Android 开发问题记录持续更新中 2025-06-27

1,886 阅读2分钟

Gradle拉取失败

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

将Gradle的配置更新为腾讯云镜像

distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-8.7-bin.zip

在 build.gradle.kts 添加aar

1,在 app目录下新建libs文件夹,并将aar文件放置该目录下

image.png

2,在 build.gradle.kts 的 dependencies 下 引入aar

dependencies {
    implementation(files("./libs/*****.aar"))
}

image.png

Unsupported Gradle JVM.

当本地的 javaSDK 的版本比较高时,项目使用的gradle版本比较低时,会报如下错误:

Your build is currently configured to use Java 17.0.10 and Gradle 5.4.1.

  


Possible solutions:

 - Upgrade to Gradle 8.5 and re-sync

 - Upgrade to Gradle 7.2 and re-sync

解决方法:修改项目的java版本

Android Studio -> setting -> Build,Execution,Deployment -> Build Tools -> Gradle 目录下,修改 Gradle JDK 的版本,即可。

image.png

redirect to a secure protocol (like HTTPS) or allow insecure protocols.

需要在maven里添加参数才可以访问http地址。

maven { 
    allowInsecureProtocol = true
    url 'http://xxx.xxx.xxx/repository/public/' 
}

Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository 'flatDir' was added by build file 'app/build.gradle'

新建Android工程,在 build.gradle中引入aar,报如上错误,是因为 在settings.gradle设置了 RepositoriesMode.FAIL_ON_PROJECT_REPOS模式。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }

    }
}

repositoriesMode 模式有两种 :

  • RepositoriesMode.PREFER_PROJECT : 解析依赖库时 , 优先使用本地仓库 , 本地仓库没有该依赖 , 则使用远程仓库 ;

  • RepositoriesMode.FAIL_ON_PROJECT_REPOS : 解析依赖库时 , 强行使用远程仓库 , 不管本地仓库有没有该依赖库 ;

所以,我们将仓库的解析模式改下就可以了

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }

    }
}

Duplicate class android.support.v4.app..... found in modules core-1.13.0-runtime

这是由于已经导入的依赖中有涵盖相同core版本的情况,最终导致冲突报错,解决这个办法也很简单,找到那个冲突的依赖删掉或者换成其他依赖,但这种方法不建议,使用下面的解决办法可以不需要进行删除冲突依赖同样解决问题。

android.useAndroidX=true
android.enableJetifier=true

Support库和AndroidX库含有相同的类时,会引起该错误,开启 enableJetifierSupport库迁移至AndroidX从而解决类重复的问题。

Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /xxx/xxx/app/build/outputs/mapping/release/missing_rules.txt.

缺少混淆规则,打开该目录下的miss_rules.txt文件,将里面的混淆规则,复制到 proguard-rules.pro里面即可。

apk打包,包体积异常变大

可以从2方面入手:

1、是否修改最小版本,修改最低版本,会有压缩方面的变化。

2、过滤掉不比较的ndk abi。

具体分析和解决方法,可以参考如下链接 包体积异常变大