【问题标题】:Build error referencing build.xml and proguard file: "null returned: 1"引用 build.xml 和 proguard 文件的构建错误:“返回 null:1”
【发布时间】:2014-07-08 07:59:00
【问题描述】:

在构建我的 PhoneGap 应用时(安装了 Facebook SDK 插件),我遇到了这个错误:

构建失败 C:\adt-bundle-windows-x86_64-20130522\sdk\tools\ant\build.xml:653:执行此行时出现以下错误: C:\adt-bundle-windows-x86_64-20130522\sdk\tools\ant\build.xml:698: null 返回:1

第 653 行是:

<do-only-if-manifest-hasCode elseText="hasCode = false. Skipp aidl/renderscript/R.java">

第 698 行是:

proguardFile="${out.absolute.dir}/proguard.txt"

到目前为止,我的解决方案包括:

  1. 运行android update project 以强制生成proguard-project.txt 文件,并更新local.propertiesproject.properties 文件。
  2. 编辑了C:\adt-bundle-windows-x86_64-20130522\sdk\tools\ant\build.xml,以便所有提及proguard.txt 的内容都变为proguard-project.txt
  3. ant -logfile ./antLogFile.txt release。这是日志文件。

-set-mode-check:

-set-release-mode:

-发布-混淆-检查: [echo] proguard.config 是 C:\adt-bundle-windows-x86_64-20130522\sdk/tools/proguard/proguard-android.txt:proguard-project.txt [echo] Proguard.config 已启用

-预构建:

-check-env: [checkenv] Android SDK Tools Revision 22.6.2 [checkenv] 安装在 C:\adt-bundle-windows-x86_64-20130522\sdk

-设置: [echo] 项目名称:HelloWorld [gettype] 项目类型:应用程序

-build-setup:[getbuildtools] 使用最新的构建工具:19.0.3 [echo] 正在解析 HelloWorld 的构建目标... [gettarget] 项目目标:Android 2.3.3 [gettarget] API 级别:10 [gettarget] 警告:AndroidManifest.xml 中的属性 minSdkVersion (14) 高于项目目标 API 级别 (10) [回声] ---------- [echo] 如果需要,创建输出目录... [回声] ---------- [echo] Resolving Dependencies for HelloWorld... [dependency] 库依赖:[dependency] [dependency] ------------------ [dependency] 有序库:[dependency] [dependency] ------------------ [dependency] API

节点:

-set-mode-check:

-set-release-mode:

-发布-混淆-检查: [echo] proguard.config 是 C:\adt-bundle-windows-x86_64-20130522\sdk/tools/proguard/proguard-android.txt:proguard-project.txt [echo] Proguard.config 已启用

-预构建:

-check-env: [checkenv] Android SDK Tools Revision 22.6.2 [checkenv] 安装在 C:\adt-bundle-windows-x86_64-20130522\sdk

-设置: [echo] 项目名称:facebook [gettype] 项目类型:Android 库

-build-setup:[getbuildtools] 使用最新的构建工具:19.0.3 [echo] 为 facebook 解决构建目标... [gettarget] 项目目标:Android 2.3.3 [gettarget] API 级别:10 [回声] ---------- [echo] 如果需要,创建输出目录... [mkdir] 创建目录:C:\Users\brian.lee\Desktop\Eclipse Workspace\chumba_connect_trunk_new\facebook-android-sdk-3.14.1\facebook\bin\rsObj [mkdir] 创建目录:C:\Users\brian.lee\Desktop\Eclipse Workspace\chumba_connect_trunk_new\facebook-android-sdk-3.14.1\facebook\bin\rsLibs [回声] ---------- [echo] 解决 facebook 的依赖项... [dependency] 库依赖项:[dependency] 没有库 [dependency] [依赖性] ------------------ [依赖性] API

-code-gen: [mergemanifest] 找到已删除的目标文件 [mergemanifest] 将 AndroidManifest 文件合并为一个。 [合并清单] 清单 合并禁用。仅使用项目清单。 [echo] 处理aidl文件... [aidl] 没有要编译的 AIDL 文件。 [回声] ---------- [echo] 处理 RenderScript 文件... [回声] ---------- [回声] 处理资源... [aapt] 正在生成资源 ID... [aapt] 资源目录名无效:C:\Users\brian.lee\Desktop\Eclipse 工作区\chumba_connect_trunk_new\facebook-android-sdk-3.14.1\facebook\bin\res/crunch

构建失败 C:\adt-bundle-windows-x86_64-20130522\sdk\tools\ant\build.xml:601: 执行此行时发生以下错误: C:\adt-bundle-windows-x86_64-20130522\sdk\tools\ant\build.xml:653: 执行此行时发生以下错误: C:\adt-bundle-windows-x86_64-20130522\sdk\tools\ant\build.xml:698: 返回空值:1

总时间:2秒

我所有的尝试都没有取得任何进展。 为什么会出现这个错误?我必须做什么才能成功构建?

【问题讨论】:

    标签: android cordova proguard build.xml cordova-plugin-proguard


    【解决方案1】:

    关闭 Eclipse,然后在您的项目文件夹中运行 ant clean

    【讨论】:

    • 对我没有帮助...完全相同的错误,但前提是我从最新的 Google 更新中插入 appcompat 库项目。如果我使用较旧的 appcompat,则构建良好。尝试退出 IntelliJ Idea(因为我没有使用 Eclipse)并手动运行 ant clean - 什么都没有...发生在 Ant 1.8.2 和 1.9.4 中。完全相同的错误:“.../android-sdk/tools/ant/build.xml:698: null returned: 1”
    • 已修复。冲突的构建目标是错误的。需要将 appcompat 目录中的 project.properties 更改为 'target=android-21',而不是我之前的 android-19。
    【解决方案2】:

    对我来说:我有

    错误地编辑了我的 config.xml

    。尝试撤消您的编辑或放置一个通用 config.xml,然后查看她是否构建。

    【讨论】:

      【解决方案3】:

      您可能还想确保您的 local.properties 具有您的 sdk 的路径: sdk.dir=/path/to/adt/sdk

      【讨论】:

        【解决方案4】:

        验证您的JAVA_HOME 变量是否正确设置为C:\Program Files\Java\jdk1.7.0_67\ 之类的路径,如果错误仍然存​​在,则可以通过build.xml 并设置true 来解决 到变量 fork 或传递的变量 ${need.javac.fork},它将 fork 的值设置为:

        fork="${need.javac.fork}"

        【讨论】:

          【解决方案5】:

          对我来说,冲突的构建目标是错误的。需要将我的库目录(即 appcompat)中的 project.properties 更改为“target=android-21”,而不是我之前的 android-19。如果您遇到类似的错误并且之前的答案(ant clean)不起作用,请检查所有构建目标。

          【讨论】:

            【解决方案6】:

            为了确定问题是来自您的开发环境还是项目中的错误,我建议大家尝试从 cordova CLI 创建一个新项目。

            • 打开终端
            • 输入cordova create foo; cd foo;
            • 输入cordova platform add android
            • 输入cordova build

            有效吗?所以问题出在你的项目配置上。 这是我的错误: 为了向应用程序添加图标,我在 `foo/plataforms/android/res/{android/icon*.png}

            中创建了一个名为 android 的文件夹

            添加图标的正确方法是在项目根目录下创建文件夹res foo/{res/android/icon*.png}

            然后,将这些文件添加到配置文件中,如下所示:

            <platform name="android">
                          <icon src="res/android/icon@ldpi.png" density="ldpi" />
                          <icon src="res/android/icon@mdpi.png" density="mdpi" />
                          <icon src="res/android/icon@hdpi.png" density="hdpi" />
                          <icon src="res/android/icon@xhdpi.png" density="xhdpi" />
                 </platform>
            

            【讨论】:

              【解决方案7】:

              我遇到了同样的问题,我是这样解决的:

              转到项目中的框架目录,然后键入这些命令来构建 jar 文件(您需要安装 ant 才能生成 jar 文件,但它应该已经在您的系统上):

              android update project -p . -t android-23
              
              ant jar
              

              所以只要确定你有什么类型的安卓,因为你可能已经尝试过android-19

              【讨论】:

                猜你喜欢
                • 2014-01-09
                • 2017-02-01
                • 1970-01-01
                • 1970-01-01
                • 2014-10-28
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多