此为开发中,所遇到的gradle 构建异常/错误,仅供参考
-
Error:Unsupported method: BaseConfig.getApplicationIdSuffix()
导入项目问题,需要更改project 下gradle 工具版本 https://blog.csdn.net/rjc_lihui/article/details/78434864 -
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
-
Unable to find method 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()
kotlin 和androidstudio 的版本,配置问题
参考:https://blog.csdn.net/a06_kassadin/article/details/72466283 -
错误:需要常量表达式
用if 语句替换switch语句,主要是避免多个库之间出现资源冲突
https://blog.csdn.net/msn465780/article/details/50282979 -
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
- java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/
添加so库的路径有问题
参考:https://blog.csdn.net/q9104422999/article/details/70650748 - 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
-
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 -
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 -
Project already contains module with the same name
从app文件夹下的build.gradle中删除编译项目(’:module_name’)
然后删除项目文件夹下的模块文件夹
然后从settings.gradle中删除您的模块名称条目
- 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
- 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'
}
}