高德地图Demo运行报错 com.android.ide.common.process.ProcessException: Failed to execute aapt
最近由于有需求去做导航方面的Android开发,很是无奈,以前也的确是没有搞过,领导开大会当着所有人的面说这是给我分配的第一个工作,无论如何要做好,突然间感觉压力好大,自己已经多年没有敲过代码,而且Android方面的开发我也的确是没有做过,Java语言的基本特性我也是忘记的差不多了,总是感觉有几分赶鸭子上架,不过这也是十分无奈的事情,于是我下载了一个高德地图的Demo,为什么没有用百度的呢,其实百度的那个API介绍总感觉比较复杂了些,于是便选择使用高德的地图。
高德地图的Demo Android版链接如下:
http://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/zip/AMap_Android_Demo.zip
情景:打开已有项目后报错
com.android.ide.common.process.ProcessException:Failed to execute aapt
原因:在build.gradle文件中,
compileSdkVersion 和buildToolsVersion 不匹配
解决:
匹配 compileSdkVersion 和buildToolsVersion
第一步:
通过SDK Manager工具安装最新的sdk版本,和buildToos的版本




第二步: 修改编译文件 build.gradle


可以看到错误
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
仍然没有解决。
compileSdkVersion
buildToolsVersion '23.0.1'
配置编译的文件中出问题的地方就是上面的两个版本号的问题。
在第一步中我们可以看到我们其实已经把SDK的版本基本都安装上了,如下图:

但是build tool的版本并不好解决,因为并没有提供安装低版本的选项。
以上是我个人的分析,并不知道是否正确。
下面给出一个自认为说的还算不错的一个资料:
https://blog.csdn.net/qq_22078107/article/details/53212883?locationNum=4&fps=1
出现这种错误原因是因为 buildToolsVersion、compileSdkVersion、targetSdkVersion、 compile 'com.android.support:appcompat-v7:xxx'不一致。
此时需要自己动手修改项目的build.gradle文件,
把下面数据修改一致即可,(小数点后的值可以不相同)
compileSdkVersion 23
buildToolsVersion "23.0.1"
targetSdkVersion 23
compile 'com.android.support:appcompat-v7:23.2.0'
(同理,如果是19,20什么的都改成一致就行)
若还报错,clean一下工程即可;
根据上面资料的方法我这里将 buildToolsVersion "23.0.1" 改为 buildToolsVersion "26.0.1"
具体如下图:


然后,编译,发现成功了,虽然有些警告。这里面的道理是怎么样的还是没有具体的搞清楚,不过将SDK和build tool 的主版本号改为一致确实可行,不过这里面还有一点是需要注意的,
那就是需要将 build tool 的主版本号改为 SDK的主版本号才可以编译成功,反之不行。准确的来说是还有错误报出来,不过还是可以运行编译成功的。
如果将 SDK 版本号改为 build tool 的版本号 则编译不成功,具体如下图:


==========================================================================
经过一些实验后有了一些小发现,于是在下面附上一些自己后来的发现:
build tool 的版本对编译成功与否影响没有想象到那么大的作用,不过尽量把 build tool的版本号调到比较高的版本还是没有问题的。
(build tool的版本号必须是本机里面安装的,这个和上面所说的主版本号与否无关,重点是你的电脑,也就是你的编译环境中必须要具有这个版本的build tool)
在 SDK 版本不变的情况下,调整build tool的版本号, 尽可能的调整build tool 版本为最新,有时候低版本的SDK 往往需要高一些版本的build tool才能编译,不过不管怎么说最新的build tool 应该是没有什么大问题的。
感觉不错的资料,推荐如下:
https://blog.csdn.net//never_cxb/article/details/50520108
https://blog.csdn.net/shakdy/article/details/54861919
http://ask.csdn.net/questions/173573
高德地图Demo运行报错 com.android.ide.common.process.ProcessException: Failed to execute aapt的更多相关文章
- ionic 打包 报错Execution failed for task ':processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt
在platform --> android目录下找到build.gradle文件,打开并在def promptForReleaseKeyPassword() {...}函数前加入以下内容: 完整 ...
- android studio Error:Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt
情况很奇怪 我是更新版本; 问题解决: clean project; 可能是编辑器有地方存有配置数据;
- Android Jni开发,报com.android.ide.common.process.ProcessException: Error configuring 错误解决方案
今天在练习JNI项目时,Android studio版本为:3.1.3,Gradle版本为4.4.由于Android studio 3.X弃用了 android.useDeprecatedNdk=tr ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ‘:app:dexDebug’. > com.android.ide.common.process.ProcessE ...
- java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException 的解决办法之一
在查看别人的代码的时候,遇到了把工程导入到 Android Studio ,报:ExecutionException: com.android.ide.common.process.ProcessEx ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException总结
最新项目中遇到了 Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.Proces ...
- com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command ' finished with non-zero exit value 1
Error:Execution failed for task ':lenovoAlbum:processReleaseResources'. > com.android.ide.common. ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessE ...
- om.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
Error:Execution failed for task ':app:dexDebug'.> com.android.ide.common.process.ProcessException ...
随机推荐
- Spring MVC 处理中文乱码
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>or ...
- Ubuntu+apache安装redmin
公司要迁移redmin,本来以为是一个很简单的项目,想不到整整搞了一天加一个晚上. 首先是对ruby的安装不熟悉,现在明白了ruby的安装顺序是先安装rvm版本管理,然后用rvm安装ruby,安装好后 ...
- Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...
- IDEA.环境
1.下载: https://www.jetbrains.com/idea/download/#section=windows 安装的版本是:Ultimate:ideaIU-2017.3.3.exe 2 ...
- 数据库建表char(10)和VARCHAR(10)
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHA ...
- IdentityServer4在Asp.Net Core中的应用(二)
继续上次授权的内容,客户端模式后我们再说以下密码模式,先回顾下密码模式的流程: 我们还是使用上次的代码,在那基础上修改,在IdentityServer4里面有一个IdentityServer4.Tes ...
- python脚本6_打印菱形
#输入菱形最宽的行所在的行数,打印菱形 m = int(input(">>>")) for n in range(m): print(" "* ...
- model 数据注解
https://www.cnblogs.com/leoxuan/articles/6555396.html ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Mode ...
- 二十三 Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制
用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l 查看scrapy创建爬虫文件可用的母版 Available templates: ...
- uva 12086 线段树or树状数组练习
题目链接 https://vjudge.net/problem/34215/origin 这个题就是线段树裸题,有两种操作,实现单点更新和区间和的查找即可,这里第一次学习使用树状数组完成. 二者相 ...