aapt.exe已停止运行 android.content.res.Resources$NotFoundException: String resource ID #0x0...

来源:互联网 发布:大黄蜂视频加密软件 编辑:程序博客网 时间:2024/05/22 12:18

1、运行一个完好的android工程项目,在我自己的eclipse上老是报错,每次run的时候都会弹出aapt.exe已停止运行的提示,由于看上去对运行没有影响,就直接无视,但是工程总是运行不起来,报错android.content.res.Resources$NotFoundException: String resource ID #0x0....。但是我引用的layout布局本身没有错误,在R文件里的ID也是正确的,在网上搜了到很多类似问题的解决方法,都没有解决我出现的问题。由于我们公司有两个eclipse的开发环境,于是把工程导入另外一个eclipse运行,没有一点问题。看来工程本身是没有问题的,只能从自己的编译环境找问题。后来一想是不是aapt.exe的问题,网上搜索相关的问题解决方法,也都是前篇一律,按照这些方式解决都没有用,还是一样报错。

2、后来想想我的eclipse环境跟另外一个的环境不一样,会不会跟这个有关,这样就直接按照另这个环境配置了一个一模一样的环境,连JDK都是从这个环境里copy过来的,最后还是无法解决。很苦恼花了这么多时间,还是没有搞好。

3、最后经过同事提醒,会不会是aapt.exe的问题,又重新从这里入手。在百度里查到了aapt.exe的作用如下:

aaptAndroid Asset Packaging Tool , SDKbuild-tools目录下该工具可以查看创建更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件.尽管你可能没有直接使用过aapt工具但是build scriptsIDE插件会使用这个工具打包apk文件构成一个Android 应用程序.在使用aapt之前需要在环境变量里面配置SDK-tools路径,或者是路径+aapt的方式进入aapt

里面提到打包apk时会用到这个工具引起了我的注意,因为每次run工程的时候都会生成一个apk文件,再运行在模拟器或者手机上的,很有可能这个出错了。于是在sdk里面找aapt.exe这个工具,发现每一个版本的sdk都有一个对应的aapt.exe。再仔细一想,之前的编译环境都换了,就只有sdk没有换,应该可以尝试一下换sdk。我的sdk升级过,而旧的sdk我保存了一份,在eclipse变更sdk的路径,编译运行工程,没事了。哈哈爽歪歪。折腾了几天的问题终于解决了。


0 0
原创粉丝点击