使用gradle编译、打包过程当中的问题汇总

第一次尝试 使用Gradle 进行android环境的编译、打包,期间问题出现不少,幸亏有耐心一一解决,如今将问题记录下来,分享下android

一、问题一 gradle版本不对(与实际项目要求的不一致)服务器

问题描述:构建失败的缘由是gradle的版本不对,要求是2.10的,我本机是3.1的app

解决办法一:手动下载gradle2.10的版本,而后从新构建解决。fetch

解决办法二:在jenkins的Global Tool Configuration配置中的Gradle设置项中选择自动安装Gradle,选择要安装的版本便可gradle

构建时,jenkins会自动安装Gradleui

注:打包要求的gradle版本可查看项目文件夹中的\gradle\wrapper\ gradle-wrapper.properties文件中的版本spa

二、问题二 SDK未安装或配置路径与编译的服务器上SDK路径不符,致使编译错误3d

解决方法:未安装SDK的,需下载Adt Bundle或android studio,而后设置项目中的local.properties文件来指定该sdk路径code

三、问题三 sdk/platforms中没有对应的文件,致使编译失败orm

解决方法:在Adt Bundle或android studio中打开SDK Manager,进行更新对应文件便可

注:Android SDK Manager国内没法更新的解决方案

1.启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;

2.在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,而且选中「Force https://... sources to be fetched using http://...」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』,窗口返回到主界面;

3.依次选择「Packages」、「Reload」

四、问题四:找不到对应的包 Could not find com.android.support:appcompat-v7:23.2.0

提示咱们系统没有找到23.2.0的相应版本的包,也就是说在lib文件夹下面没有你所请求的配置

解决方法:

经过SDK Manager下载所需的SDK,特别是Extras选项,建议全选而后下载尝试便可解决问题(我这里是将android6.0(API 23)和extras目录下的全部内容都下载了后问题解决),见下图:

五、问题五:找不到签名配置Execution failed for task ':app:validateRelealseSigning'.

> Keystore file E:/runa/rn.key.jks not found for signing config 'relealse'.

解决方法:

方法一:注释掉签名配置的代码(不推荐)

方法二:使用android studio去建立keystore(推荐)

步骤1:安装好android studio后打开android studio,新建project后,点击Build→Generate Signed APK…

步骤2:Create New···(已经建立过keystore选Choose existing···)

步骤3:填写相关信息

设置keystore路径、密码,设置key:别名、密码、有效期,证书等Key store path:存放路径

Key

  Alias:别名

  Validity(years):有效期(通常默认25年)

  Certificate:证书

    First and Last Name:姓名

    Organization Unit:组织单位

    Organization:组织

    City or Locality:城市或地区

    State or Province:州或省

    Country Code(XX):国家代码(XX),中国:86

上面的内容可按照app\build.gradle中内容去填写,或者随意写好后,按照设置的内容去配置build.gradle中的签名配置。

六、问题六:执行 lint task的时候报错

这个是由于代码不符合规范,lint检查时报错,所以中断了整个编译过程。只要在当前app的app/build.gradle文件内增长以下代码便可:

android {
    ...
  lintOptions {
      abortOnError false
}
  ...
}
相关文章
相关标签/搜索