• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Android--项目构建失败原因和解决

武飞扬头像
working_man1
帮助1

刚接手一个有点时间久远的项目,经过一番调整和更改配置,还是在构建时出现了些许问题,在此纪录一下解决方案。

【问题一】gradle配置出错

大致的问题截图如下:

学新通

学新通

学新通

 出现这个问题主要是细节没注意,在每个项目中的build.gradle(相对应模块),我们可以使用一个公共构造函数添加应用资源值。

我配置的部分内容是这样的:

学新通

然后我们查看build\generated\res\resValues\debug\values 目录下生成的代码:

学新通

但是我们要注意到在strings.xml的标签<string> </string> 是小写的,而我们平时编写代码时写String是习惯大写的,所以需要保持和标签一致的,这个只要稍微注意下即可。现在顺便了解一下这个函数。

resValue(String type, String name, String value)

从上面的命名看大致都知道三个参数代表的含义:xml文件中定义的数据类型、名称、属性值。这就是相当于在res/values下定义了一个资源。

【问题二】BuildConfig类配置

因为每次刚拿到新的项目代码时都需要进行纠错和更改配置,于是就发现了这个问题,是在使用BuildConfig类出现的,想要访问某个值时出错。

学新通

这表示没有定义这个值,于是我就有点纳闷了,整体代码都有了为啥子这个竟然缺少了,所以只能无奈改正。 

有时候我们正是需要一个小小的提示帮助进行Android开发,比如BuildConfig类。主要的作用就是

与应用代码共享自定义字段和资源值 

在构建时,Gradle 将生成 BuildConfig类,以便应用代码可以检查与当前构建有关的信息。您也可以从 Gradle 构建配置文件中使用 buildConfigField() 方法将自定义字段添加到 BuildConfig类中,然后在应用的运行时代码中访问这些值。

  1.  
    BuildConfigField(
  2.  
    type: String,
  3.  
    value: T,
  4.  
    comment: String?)

这个和上面的resValue()有着异曲同工之用,三个参数也是一样的含义。

type:要写入为BuildConfig字段类型的值。

value:生成字段的值。如果类型为String,则值应包含引号。

comment:将添加到生成的源文件中的可选字段注释,如果不需要注释,则为空。

【问题三】编译失败,Invoke-customs are only supported starting with Android O

学新通

这个的主要原因是Android Gradle 插件 3.0.0 及更高版本支持所有 Java 7 语言功能,以及部分 Java 8 语言功能(具体因平台版本而异)。如需开始使用受支持的 Java 8 语言功能,请将Android gradle插件升级为3.0.0(或更高版本),因此解决问题也就好办了。

解决办法是在build.gradle中添加如下代码块:

  1.  
    compileOptions {
  2.  
    sourceCompatibility JavaVersion.VERSION_1_8
  3.  
    targetCompatibility JavaVersion.VERSION_1_8
  4.  
    }

当然也可以按如下操作亦可;

学新通

可能个人这个界面不一样,如果你们这个下拉列表中有Open Module Setting,可以直接跳到如下相同界面修改操作。

学新通

 在界面中操作完成记得点击Apply按钮保存设置,然后重新make project即可解决。

好了,今天的问题记录先暂时结束了,虽然不是什么很难解决的大问题,但是平时依然需要多加认真对待和学习进步。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfieiff
系列文章
更多 icon
同类精品
更多 icon
继续加载