android - 构建 Ionic 应用程序时出错 : Failed to execute aapt (CordovaLib:processDebugResources)

标签 android linux cordova gradle ionic-framework

我正在尝试使用 Ionic 框架来构建混合移动应用程序,但几天以来我一直面临以下问题。

当我想构建应用程序(实际上是一个空白项目)时,命令“ ionic cordova build android ”在执行 CordovaLib:processDebugResources 任务时返回此错误(详细日志如下):
/home/pi/android-sdk/build-tools/23.0.1/aapt: Syntax error: newline unexpected (expecting ")")
我尝试多次重新安装Android SDK。我还尝试了不同版本的 Android 工具/平台(23、26),但它什么也没做。

我在网上没有找到任何解决这个问题的方法。
因此,如果有人有想法或已经面临这个问题并解决了它,请不要犹豫;-)

谢谢您的帮助。

  • 构建应用时的详细日志:

  • :CordovaLib:generateDebugBuildConfig UP-TO-DATE :CordovaLib:processDebugResources/home/pi/android-sdk/build-tools/23.0.1/aapt: 2: /home/pi/android-sdk/build-tools/23.0.1/aapt: Syntax error: newline unexpected (expecting ")")

          FAILED
    
        FAILURE: Build failed with an exception.
    
        * What went wrong:
        Execution failed for task ':CordovaLib:processDebugResources'.
        > com.android.ide.common.process.ProcessException: Failed to execute aapt
    
        * Try:
        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    
        BUILD FAILED
    
        Total time: 55.363 secs
        Error: /home/pi/IonicPJ/platforms/android/gradlew: Command failed with exit code 1 Error output:
        Picked up _JAVA_OPTIONS: -Xmx256M
        /home/pi/android-sdk/build-tools/23.0.1/aapt: 2: /home/pi/android-sdk/build-tools/23.0.1/aapt: Syntax error:
        newline unexpected (expecting ")")
    
    
        FAILURE: Build failed with an exception.
    
        * What went wrong:
        Execution failed for task ':CordovaLib:processDebugResources'.
        > com.android.ide.common.process.ProcessException: Failed to execute aapt
    

  • 您将在下面找到有关已安装组件的不同元素。
  • Ionic 3.8.1 Cordova 7.0.1 Gradle 4.1 JAVA 8
    我设置了变量 $JAVA_HOME, $ANDROID_HOME
    并将 $ANDROID_HOME/tools 和 $ANDROID_HOME/platform-tools 添加到 $PATH 变量

    这是我通过 Android SDKManager 安装的包:
        Installed packages:
      Path                        | Version | Description                    | Location
      -------                     | ------- | -------                        | -------
      build-tools;23.0.1          | 23.0.1  | Android SDK Build-Tools 23.0.1 | build-tools/23.0.1/
      emulator                    | 26.1.3  | Android Emulator               | emulator/
      extras;android;m2repository | 47.0.0  | Android Support Repository     | extras/android/m2repository/
      extras;google;m2repository  | 57      | Google Repository              | extras/google/m2repository/
      patcher;v4                  | 1       | SDK Patch Applier v4           | patcher/v4/
      platform-tools              | 26.0.0  | Android SDK Platform-Tools     | platform-tools/
      platforms;android-23        | 3       | Android SDK Platform 23        | platforms/android-23/
      platforms;android-25        | 3       | Android SDK Platform 25        | platforms/android-25/
      tools                       | 26.0.2  | Android SDK Tools              | tools/
    

    当我运行“ ionic cordova platform ls ”时,我有:
    Installed platforms: android 6.2.3
    一切都在 Raspbian Jessie 的覆盆子上运行:
    Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

    最佳答案

    我也遇到过这个问题,当我在 config.xml 中添加 allowClearTextTraffic 以修复明文问题时,就会出现这个问题。我以另一种方式修复了明文问题,然后运行
    ionic cordova resources android
    然后构建问题得到解决!

    关于android - 构建 Ionic 应用程序时出错 : Failed to execute aapt (CordovaLib:processDebugResources),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45763061/

    相关文章:

    android - 使用 Paho MqttClient 在 Android 上尝试 Mqtt 连接

    android - registerResGeneratingTask 已弃用,请使用 registerGeneratedResFolders(FileCollection)

    android - Cordova:在子浏览器中使用 window.open

    android - 如何在抽屉导航顶部创建工具栏(Android/kotlin)

    java - 应用程序重新启动时保存 View 状态android

    r - 安装 R 包 Ubuntu 22.04.1 LTE 时的包 libcurl4-openssl-dev 问题

    linux - 在 linux 中读取属性文件

    linux - 将视频编解码器集成到 gstreamer 或 vlc 中

    java - ChildBrowser.java 语法错误

    javascript - 使用 POST 检测成功的 html 表单提交到来自 PhoneGap、移动 jQuery 应用程序的跨域脚本