在这篇文章中,我们将带领您了解android–Gradle插件3.0.0beta4:“buildTypeMatching已被删除.使用buildTypes..fallbacks“的全貌,同时,我们还将
在这篇文章中,我们将带领您了解android – Gradle插件3.0.0 beta 4:“buildTypeMatching已被删除.使用buildTypes..fallbacks“的全貌,同时,我们还将为您介绍有关Android build.gradle、Android buildType混淆代码、Android Gradle Build Error:Some file crunching failed, see logs for details的快速解决方法、Android Gradle Build Error:Some file crunching failed, see logs for details解决办法的知识,以帮助您更好地理解这个主题。
本文目录一览:- android – Gradle插件3.0.0 beta 4:“buildTypeMatching已被删除.使用buildTypes..fallbacks“
- Android build.gradle
- Android buildType混淆代码
- Android Gradle Build Error:Some file crunching failed, see logs for details的快速解决方法
- Android Gradle Build Error:Some file crunching failed, see logs for details解决办法
android – Gradle插件3.0.0 beta 4:“buildTypeMatching已被删除.使用buildTypes..fallbacks“
更新到Gradle插件3.0.0 beta 4后,我们的构建失败并显示以下消息:
buildTypeMatching has been removed. Use buildTypes.<name>.fallbacks
我们的库有发布和调试buildTypes,但我们的app有两个额外的buildTypes:’releaseWithLogs’和’debugMinified’.
我们的应用程序Gradle文件的片段:
android {
// ...
buildTypeMatching 'releaseWithLogs', 'release'
buildTypeMatching 'debugMinified', 'debug'
buildTypes {
debug {
// ...
}
debugMinified {
// ...
}
release {
// ...
}
releaseWithLogs {
// ...
}
}
}
解决方法:
经过一番调查后,发现了以下公告:Android Studio 3.0 Beta 4 is now available.在那里,它提到:
You Now provide fallbacks for missing build types and flavors using
matchingFallbacks
(which replacesbuildTypeMatching
andproductFlavorMatching
). You also provide the default selection and fallbacks for missing dimensions usingmissingDimensionStrategy
(which replacesflavorSelection
).
所以,我们以前的应用build.gradle转换为:
android {
// ...
//buildTypeMatching 'releaseWithLogs', 'release' // remove this
//buildTypeMatching 'debugMinified', 'debug' // remove this
buildTypes {
debug {
// ...
}
debugMinified {
// ...
matchingFallbacks = ['debug'] // instead use this
}
release {
// ...
}
releaseWithLogs {
// ...
matchingFallbacks = ['release'] // instead use this
}
}
}
请注意,我们不是说buildType releaseWithLogs也会与release(buildTypeMatching’releaseWithLogs’,’release’)匹配,而是指定buildType本身内部的匹配.对于debugMinified匹配调试也是如此.另请注意,在发布和调试buildTypes中不需要包含它,因为它们已经匹配.
Android build.gradle
apply plugin: ''com.android.library'' android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { minSdkVersion 22 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { abiFilters "armeabi-v7a" } } } buildTypes { release { shrinkResources false // 是否去除无效的资源文件 minifyEnabled true proguardFiles ''proguard-rules.pro'' } } //************************* // def SDK_BASENAME = "myjar"; // def SDK_VERSION = "_v1.0.0"; // def sdkDestinationPath = "build/outputs/jar/"; // task deleteBuild(type: Delete) { // delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar" // } // task makeJar1(type: Jar) { // from(''build/intermediates/javac/debug/classes/'') // baseName SDK_BASENAME + SDK_VERSION // destinationDir file(sdkDestinationPath) // } // makeJar1.dependsOn(deleteBuild, build) // // // task ProguardJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") { //// 未混淆的jar路径 // injars sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar" // // 混淆后的jar输出路径 // outjars sdkDestinationPath + SDK_BASENAME + SDK_VERSION + "P.jar" // // 混淆协议 // configuration ''proguard-rules.pro'' // } //************************* externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.10.2" } } compileOptions { sourceCompatibility = 1.8 targetCompatibility = 1.8 } } //task makeJar(type:org.gradle.api.tasks.bundling.Jar, dependsOn: "build") { // baseName ''payapi'' // from([''build/intermediates/javac/release/classes/'']) // exclude(''com/castles/payapi/BuildConfig.class'') //} task makeJar(type: Copy) { from(''build/intermediates/packaged-classes/release/'') into(''build/libs/'') include(''classes.jar'') rename (''classes.jar'', ''payapi.jar'') } makeJar.dependsOn(build) afterEvaluate { generateReleaseBuildConfig.enabled = false generateDebugBuildConfig.enabled = false } dependencies { // api fileTree(dir: ''libs'', include: [''*.jar'']) => implementation ''androidx.annotation:annotation:1.1.0'' provided files(''libs\\ctcpmanager.jar'') provided files(''libs\\kms2_1.4.3.jar'') implementation ''androidx.appcompat:appcompat:1.2.0'' implementation ''com.google.android.material:material:1.3.0'' }
Android buildType混淆代码
【话题引入】
①在Android开发完成,我们会将代码打包成APK文件。选择 菜单栏 Build --》 Build APK
②将查看视图切换到 Project 模式,文件夹下有一个debug模式的文件。
在实际开发发布我们要发布一个正式的版本,即 release 模式。
【进入正题】
- 程序在发布的时候可以混淆代码,可以保护代码,不被其他人轻易破解。(通过build.gradle(Module:app)文件 buildType 设置)
- 混淆器将删除一些不关心其返回值的方法,如日志的输出。
buildTypes {
release {
minifyEnabled false //是否混淆代码 flase不混淆
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
}
}
- buildType主要目的是根据不同的版本设置不同的参数。进行不同的配置。开发过程为调试阶段和正式发布阶段,可以通过BuildType在不同的阶段设置不同的参数。
release{
buildConfigField "String","TYPE","1"
}
debug {
buildConfigField "String","TYPE","2"
}
- 参数调用,根据不同的返回值实现不同功能
String Type = BuildConfig.TYPE;
- 有关buildType在日志上的用处
原文出处:https://www.cnblogs.com/xqz0618/p/buildtype01.html
Android Gradle Build Error:Some file crunching failed, see logs for details的快速解决方法
错误日志:Error:java.lang.RuntimeException: Some file crunching Failed,see logs for details
Log:
FAILURE: Build Failed with an exception.
* What went wrong:
Execution Failed for task ':app:mergeDebugResources'.
> Error: java.lang.RuntimeException: Crunching Cruncher ic_default_home_new.png Failed,see logs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
解决方法如下:
android { compileSdkVersion 23 buildToolsversion "23.0.3" aaptOptions { cruncherEnabled = false useNewCruncher = false } defaultConfig { applicationId "com.security.browser.xinj" minSdkVersion 15 targetSdkVersion 22 versionCode 2 versionName "1.0.1" ndk { //设置支持的SO库架构 abiFilters 'armeabi','x86','armeabi-v7a','x86_64','arm64-v8a' } } }
出现这个错误的原因是构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀名,
一半大多数是出现在图片上,.jpg修改成了.png就会出现这个问题。
以上所述是小编给大家介绍的Android Gradle Build Error:Some file crunching Failed,see logs for details的快速解决方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言!
Android Gradle Build Error:Some file crunching failed, see logs for details解决办法
Android Gradle Build Error:Some file crunching Failed,see logs for details解决办法
错误日志:Error:java.lang.RuntimeException: Some file crunching Failed,see logs for details
Log: FAILURE: Build Failed with an exception. * What went wrong: Execution Failed for task ':app:mergeDebugResources'. > Error: java.lang.RuntimeException: Crunching Cruncher ic_default_home_new.png Failed,see logs * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
解决方法如下:
android { compileSdkVersion 23 buildToolsversion "23.0.3" aaptOptions { cruncherEnabled = false useNewCruncher = false } defaultConfig { applicationId "com.xxx.xxx" minSdkVersion 15 targetSdkVersion 22 versionCode 2 versionName "1.0.2" ndk { //设置支持的SO库架构 abiFilters 'armeabi','x86','armeabi-v7a','x86_64','arm64-v8a' } } }
出现这个错误的原因是有哪种情况?
1.构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀名;
2.一般大多数是出现在图片上,.jpg修改成了.png就会出现这个问题;
3.9patch图片也可能出现这个问题。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
今天关于android – Gradle插件3.0.0 beta 4:“buildTypeMatching已被删除.使用buildTypes..fallbacks“的介绍到此结束,谢谢您的阅读,有关Android build.gradle、Android buildType混淆代码、Android Gradle Build Error:Some file crunching failed, see logs for details的快速解决方法、Android Gradle Build Error:Some file crunching failed, see logs for details解决办法等更多相关知识的信息可以在本站进行查询。
本文标签: