Android的 - 加工订做不是编译 [英] Android - Processing Build not compiling

查看:142
本文介绍了Android的 - 加工订做不是编译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在与IDE处理的问题。

我试图编译东西到Android。我在Android的模式,当然。但我在编译的时候得到这个错误。 (这不是code本身)

我已经安装了亚行的设备,似乎确定。我已经做了所有的51 android.rules的过程。我已经安装了10 API(要求的)和Android工具。我真的不知道应该是什么错。

  -----------------
API< = 15:添加annotations.jar到classpath中。
     [回应] ----------
     [回应]与调试生成库...
   [subant]无子建,反覆 - code-创:
合并AndroidManifest文件合并成一个。
清单合并禁用。使用项目清单而已。
     [回应]使用AIDL文件...
没有AIDL文件进行编译。
     [回应] ----------
     [回应]使用RenderScript文件...
没有RenderScript文件编译。
     [回应] ----------
     [回应]处理资源...
生成资源ID ...构建失败
在执行这条线出现以下错误:/home/user/adt-bundle-linux-x86_64-20130729/sdk/tool​​s/ant/build.xml:649:
/home/user/adt-bundle-linux-x86_64-20130729/sdk/tool​​s/ant/build.xml:690:执行失败:java.io.IOException异常:不能运行程序/ home / user中/ ADT-捆绑Linux的-x86_64-20130729 / SDK /编译工具/ 18.0.1 / AAPT(目录/ tmp目录/ android8933435574063638939sketch):java.io.IOException异常:错误= 2,没有这样的文件或目录
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    在java.lang.Runtime.exec(Runtime.java:593)
    在org.apache.tools.ant.taskdefs.Execute $ Java13CommandLauncher.exec(Execute.java:862)
    在org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481)
    在org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495)
    在org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:631)
    在org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672)
    在org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498)
    在com.android.ant.AaptExecTask.execute(AaptExecTask.java:699)
    在org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    在sun.reflect.GeneratedMethodAccessor6.invoke(来源不明)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    在java.lang.reflect.Method.invoke(Method.java:597)
    在org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    在org.apache.tools.ant.Task.perform(Task.java:348)
    在org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    在com.android.ant.IfElseTask.execute(IfElseTask.java:120)
    在org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    在sun.reflect.GeneratedMethodAccessor6.invoke(来源不明)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    在java.lang.reflect.Method.invoke(Method.java:597)
    在org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    在org.apache.tools.ant.Task.perform(Task.java:348)
    在org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    在org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    在sun.reflect.GeneratedMethodAccessor6.invoke(来源不明)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    在java.lang.reflect.Method.invoke(Method.java:597)
    在org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    在org.apache.tools.ant.Task.perform(Task.java:348)
    在org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
    在org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    在sun.reflect.GeneratedMethodAccessor6.invoke(来源不明)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    在java.lang.reflect.Method.invoke(Method.java:597)
    在org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    在org.apache.tools.ant.Task.perform(Task.java:348)
    在org.apache.tools.ant.Target.execute(Target.java:390)
    在org.apache.tools.ant.Target.performTasks(Target.java:411)
    在org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    在org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    在processing.mode.android.AndroidBuild.antBuild(AndroidBuild.java:415)
    在processing.mode.android.AndroidBuild.build(AndroidBuild.java:73)
    在processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:220)
    在processing.mode.android.AndroidEditor $ 14.run(AndroidEditor.java:310)
java.io.IOException异常:引起java.io.IOException异常:错误= 2,没有这样的文件或目录
    在java.lang.UNIXProcess<&初始化GT;(UNIXProcess.java:148)
    在java.lang.ProcessImpl.start(ProcessImpl.java:65)
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 44更多总时间:2秒

问题是对剧本的这部分从build.xml文件:

 <回声级=信息>&---------- LT; /回声>
    <回声级=信息>处理资源...< /回声>
    < AAPT可执行=$ {} AAPT
            命令=一揽子
            详细=$ {}冗长
            清单=$ {} out.manifest.abs.file
            originalManifestPackage =$ {} project.app.package
            androidjar =$ {} project.target.android.jar
            rfolder =$ {} gen.absolute.dir
            nonConstantId =$ {} android.library
            libraryResFolderPathRefid =project.library.res.folder.path
            libraryPackagesRefid =project.library.packages
            libraryRFileRefid =project.library.bin.r.file.path
            ignoreAssets =$ {} aapt.ignore.assets
            binFolder =$ {} out.absolute.dir
            proguardFile =$ {out.absolute.dir} /proguard.txt>
        <水库PATH =$ {} out.res.absolute.dir/>
        <水库PATH =$ {} resource.absolute.dir/>
    < / AAPT>

根据错误日志,这是该行690: proguardFile =$ {} out.absolute.dir /proguard.txt>

但我donnt知道该怎么做。
能否请你给我一个手呢?我在这浪费了这么多时间。我是从昨天早上开始与这个麻烦。我搜索对谷歌没有帮助。

编辑:

我已经删除并重新安装工具包和SDK管理器控制台给了我这个错误:

 验证XML:https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
解析XML:https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
  发现英特尔的Atom x86的系统映像,Android的API 10,修订版2
  发现英特尔的Atom x86的系统映像,Android的API 15,修订版1
  发现英特尔的Atom x86的系统映像,Android的API 16,修订版1
  发现英特尔的Atom x86的系统映像,Android的API 17,修订版1
完成装载包。
preparing安装档案
Android的下载SDK平台工具,修订18.0.1
安装Android SDK中与平台工具,修订版18.0.1
**停止ADB服务器失败(code -1)。**
已安装Android SDK平台工具,修订18.0.1
下载Android SDK中构建的工具,修订18.0.1


解决方案

我已经遇到此问题,以及,显然有2个可能的原因:


  • 显然的位置 AAPT 通过最近版本的SDK工具,V22已被更改。我不知道,如果删除该版本的工具将修复它,或者如果将建议。 <一href=\"http://stackoverflow.com/questions/16588969/android-hello-world-compile-error-intellij-cannot-find-aapt\">This螺纹有一定的修复可能的工作。


  • 如果不能解决问题,则可能试图在没有安装32位运行时运行64位系统上的32位AAPT。在这种情况下,从这个线程修复可能会解决这个问题:

    sudo易于得到--no安装,建议安装IA32-库-multiarch


在我的情况下,只有这些修补程序的第二个是必要的。顺便说一句,我要指出,我是通过PhoneGap的建筑机器人,所以使用的情况下可能不匹配100%。然而,同样的问题发生在完全相同的线,其中,蚂蚁尝试执行AAPT

(旁白:这个问题是不一定行690具体而言,我认为线690刚因为它的条款规定AAPT的执行结束。)

I'm having issues with the IDE Processing.

I'm trying to compile something to Android. I'm on Android Mode, of course. But I'm getting this Error at the time of compiling. (It's not the code itself)

I've installed "adb devices", it seems Ok. I've done all the "51-android.rules" process. I've installed API 10(the one requested) and Android Tools. I don't really know what should be wrong.

-----------------
API<=15: Adding annotations.jar to the classpath.
     [echo] ----------
     [echo] Building Libraries with 'debug'...
   [subant] No sub-builds to iterate on

-code-gen:
Merging AndroidManifest files into one.
Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
No RenderScript files to compile.
     [echo] ----------
     [echo] Handling Resources...
Generating resource IDs...

BUILD FAILED
/home/user/adt-bundle-linux-x86_64-20130729/sdk/tools/ant/build.xml:649: The following error occurred while executing this line:
/home/user/adt-bundle-linux-x86_64-20130729/sdk/tools/ant/build.xml:690: Execute failed: java.io.IOException: Cannot run program "/home/user/adt-bundle-linux-x86_64-20130729/sdk/build-tools/18.0.1/aapt" (in directory "/tmp/android8933435574063638939sketch"): java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at java.lang.Runtime.exec(Runtime.java:593)
    at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:862)
    at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481)
    at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495)
    at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:631)
    at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672)
    at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498)
    at com.android.ant.AaptExecTask.execute(AaptExecTask.java:699)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at com.android.ant.IfElseTask.execute(IfElseTask.java:120)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at processing.mode.android.AndroidBuild.antBuild(AndroidBuild.java:415)
    at processing.mode.android.AndroidBuild.build(AndroidBuild.java:73)
    at processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:220)
    at processing.mode.android.AndroidEditor$14.run(AndroidEditor.java:310)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
    at java.lang.ProcessImpl.start(ProcessImpl.java:65)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 44 more

Total time: 2 seconds

The problem is on this part of the script from "build.xml":

   <echo level="info">----------</echo>
    <echo level="info">Handling Resources...</echo>
    <aapt executable="${aapt}"
            command="package"
            verbose="${verbose}"
            manifest="${out.manifest.abs.file}"
            originalManifestPackage="${project.app.package}"
            androidjar="${project.target.android.jar}"
            rfolder="${gen.absolute.dir}"
            nonConstantId="${android.library}"
            libraryResFolderPathRefid="project.library.res.folder.path"
            libraryPackagesRefid="project.library.packages"
            libraryRFileRefid="project.library.bin.r.file.path"
            ignoreAssets="${aapt.ignore.assets}"
            binFolder="${out.absolute.dir}"
            proguardFile="${out.absolute.dir}/proguard.txt">
        <res path="${out.res.absolute.dir}" />
        <res path="${resource.absolute.dir}" />
    </aapt>

According to the error log, this is the line 690: proguardFile="${out.absolute.dir}/proguard.txt">

But I donnt know what to do. Could you please give me a hand on this? I'm wasting so much time in this. I'm in trouble with this since yesterday morning. I've searched on google with no help.

EDIT:

I've deleted and re-installed the tools packages and the console of SDK Manager gave me this error:

Validate XML: https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
Parse XML:    https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
  Found Intel x86 Atom System Image, Android API 10, revision 2
  Found Intel x86 Atom System Image, Android API 15, revision 1
  Found Intel x86 Atom System Image, Android API 16, revision 1
  Found Intel x86 Atom System Image, Android API 17, revision 1
Done loading packages.
Preparing to install archives
Downloading Android SDK Platform-tools, revision 18.0.1
Installing Android SDK Platform-tools, revision 18.0.1
**Stopping ADB server failed (code -1).**
Installed Android SDK Platform-tools, revision 18.0.1
Downloading Android SDK Build-tools, revision 18.0.1

解决方案

I've been experiencing this issue as well, and apparently there are 2 possible causes:

  • Apparently the location of aapt has been changed by a recent version of the SDK tools, v22. I'm not sure if removing that version of the tools would fix it, or if that would be recommended. This thread has some fixes that might work.

  • If this doesn't fix the problem, you may be trying to run the 32 bit aapt on a 64 bit system without the 32 bit runtime installed. In this case the fix from this thread may fix the issue:

    sudo apt-get --no-install-recommends install ia32-libs-multiarch

In my case, only the second of these fixes was necessary. By the way, I should point out that I was building android via Phonegap, so the use case may not match 100%. However, the same problem was occurring on the exact same line, where ant tries to execute aapt.

(Aside: The problem isn't necessarily on line 690 specifically, I think that line 690 is just given because it's the end of the "clause" specifying the execution of aapt.)

这篇关于Android的 - 加工订做不是编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆