ERROR: All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/

使用环境:

       有缘遇到的时候

AGPBI: {"kind":"error","text":"Expected char '}' at D:\\workspace\\shiqinWorkSpace\\ShiQin20191219\\SQObject\\lib_fanfareknowledge\\build\\intermediates\\consumer_proguard_file\\tongjibaoRelease\\proguard.txt:25:1\n? public <init> (org.json.JSONObject);\r\n^","sources":[{"file":"D:\\workspace\\shiqinWorkSpace\\ShiQin20191219\\SQObject\\lib_fanfareknowledge\\build\\intermediates\\consumer_proguard_file\\tongjibaoRelease\\proguard.txt","position":{"startLine":24,"startColumn":0,"startOffset":839}}],"tool":"R8"}

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithR8ForRelease'.
> com.android.tools.r8.CompilationFailedException: Compilation failed to complete

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesAndResourcesWithR8ForRelease'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:151)

解决方法:

           一般提示AGPBI此类的报错时,请不自觉联想到中文!

抱歉,毕竟我们的编译工具是那种放个中文就要命的那种,所以我根据报错的提示,仔细回想了一下。、

来看看报错:

AGPBI: {"kind":"error","text":"Expected char '}' at D:\\workspace\\shiqinWorkSpace\\ShiQin20191219\\SQObject\\lib_fanfareknowledge\\build\\intermediates\\consumer_proguard_file\\tongjibaoRelease\\proguard.txt:25:1\n? public <init> (org.json.JSONObject);\r\n^","sources":[{"file":"D:\\workspace\\shiqinWorkSpace\\ShiQin20191219\\SQObject\\lib_fanfareknowledge\\build\\intermediates\\consumer_proguard_file\\tongjibaoRelease\\proguard.txt","position":{"startLine":24,"startColumn":0,"startOffset":839}}],"tool":"R8"}

花里胡哨讲再多,都是路径,找到那个文件就对了:proguard.txt

不用管是build运行生成的报错还是哪,只要有文件名,就能找到这个文件。

然后进入这个文件,看看哪里的问题。

这么熟悉的页面……不就是lib的混淆文件么!

然后看到了熟悉的中文,改掉他!

运行,ok!

更多问题,欢迎留言,你我共进步

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Gradle插件3.0.0版本开始,所有的flavor(即产品风味)必须属于一个命名的flavor dimension(即产品风味维度)。 在Android开发中,通常会使用多种不同的flavor来构建不同版本的应用,例如免费版和付费版,或者不同的地区特定版本等。在过去,我们可以直接通过在build.gradle文件中声明各种flavor来创建不同版本的应用,这些flavor之间没有固定的组织结构。 然而,为了更好地组织和管理多个flavor,从Androd Gradle插件3.0.0版本开始,引入了flavor dimensions的概念。flavor dimensions可以看作是一个属性集合,在这个集合中,可以包含多个相关的flavor。每个flavor dimension使用一个命名标识符表示,例如"version"或"region"。 要创建一个属于flavor dimensions的flavor,需要在build.gradle文件的android部分中指定各个flavordimension属性。例如: ``` flavorDimensions "version" productFlavors { free { dimension "version" // ... } paid { dimension "version" // ... } } ``` 在上述例子中,通过设置dimension为"version",我们将free和paid两个flavor分别归属于version这个flavor dimension下。 引入flavor dimensions的主要目的是为了更好地管理和组织多个flavor,可以更容易地定义和配置各种版本的应用。通过统一的flavor dimensions,可以避免各个flavor之间的混乱和冲突,提高项目的可维护性和可扩展性。 总结而言,所有的flavor现在都必须属于一个命名的flavor dimension,这样可以更好地组织和管理应用的不同版本,提高开发的效率和项目的可维护性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值