Android gradle 构建异常小全(一)

此为开发中,所遇到的gradle 构建异常/错误,仅供参考

  1. Error:Unsupported method: BaseConfig.getApplicationIdSuffix()
    在这里插入图片描述
    导入项目问题,需要更改project 下gradle 工具版本 https://blog.csdn.net/rjc_lihui/article/details/78434864

  2. Unable to find method org.gradle.api.internal.project.ProjectInternal.getPluginManager()
    在这里插入图片描述
    解决方法:

1 访问 https://services.gradle.org/distributions/,
并查看最新版的gradle,此文发布时是"gradle-4.1-all.zi"
2修改项目中"gradle/wrapper/gradle-wrapper.properties"里下面属性值


distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zi
重新执行 gradlew.bat,问题解决
https://blog.csdn.net/u011904605/article/details/52877490

  1. Unable to find method 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()
    kotlin 和androidstudio 的版本,配置问题
    参考:https://blog.csdn.net/a06_kassadin/article/details/72466283

  2. 错误:需要常量表达式
    在这里插入图片描述
    用if 语句替换switch语句,主要是避免多个库之间出现资源冲突
    https://blog.csdn.net/msn465780/article/details/50282979

  3. Error:Execution failed for task ‘:app:transformNativeLibsWithMergeJniLibsForRelease’.

More than one file was found with OS independent path ‘lib/armeabi-v7a/libijkplayer.so’
在这里插入图片描述
因为项目重新构建导致重复了.so库,所以只需要在报错项目的build.gradle里面加
exclude加上你报错的.so库位置即可
参考:https://blog.csdn.net/hrawi/article/details/79674366

  1. java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/
    在这里插入图片描述
    添加so库的路径有问题
    参考:https://blog.csdn.net/q9104422999/article/details/70650748
  2. Could not find method ndk() for arguments

应该把ndk{} 配置文件放入app/build.gradle 的android项的defaultConfig中
在这里插入图片描述
参考:https://stackoverflow.com/questions/40501986/could-not-find-method-ndk-for-arguments

  1. Failed to read PNG signature: file does not start with PNG signature
    在这里插入图片描述
    文件是一个JPEG图像,但它保存为PNG扩展名,还原为jpeg
    参考:https://stackoverflow.com/questions/46177560/failed-to-read-png-signature-file-does-not-start-with-png-signature

  2. java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in “/data/app/com.nymeros.playmx-1/lib/arm/libijksdl.so”
    在这里插入图片描述
    添加libijksdl.so ,不可以加载so文件,需要添加 proguard rules
    参考:https://github.com/Bilibili/ijkplayer/issues/2490

  3. Project already contains module with the same name

从app文件夹下的build.gradle中删除编译项目(’:module_name’)
然后删除项目文件夹下的模块文件夹
然后从settings.gradle中删除您的模块名称条目

参考: https://stackoverflow.com/questions/33172065/project-already-contains-module-with-this-name-android-studio

  1. Didn’t find class “com.google.firebase.provider.FirebaseInitProvider”
    在这里插入图片描述
    引入的firebase无错,却发生Don’t find class ,原因是Android方法数超过65535引发的异常

参考:
https://blog.csdn.net/fan7983377/article/details/73850282
https://stackoverflow.com/questions/39812558/didnt-find-class-com-google-firebase-provider-firebaseinitprovider

  1. A problem occurred starting process 'command '…\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip
    在这里插入图片描述
    原有的NDK由r16升级到r17,因为r17不再支持mips
    解决方法:
android {   
   defaultConfig {   
           ndk {            //支持的CPU架构,如armeabi、x86、mips等         
             abiFilters "armeabi", "x86"      
            }    
        }    
   packagingOptions {
                doNotStrip '*/mips/*.so'  
                doNotStrip '*/mips64/*.so'
    }
    }

参考:https://blog.csdn.net/waplyj/article/details/80604700

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值