簡體   English   中英

Android Cordova構建失敗(任務':app:processDebugResources'的執行失敗)[Cordova / Vuejs]

[英]Android Cordova build failed (Execution failed for task ':app:processDebugResources') [Cordova / Vuejs]

我在android上運行Cordova后,“ cordova run android / cordova build” II出現以下錯誤:

失敗:構建失敗,發生異常。

  • 出了什么問題:任務':app:processDebugResources'的執行失敗。 無法執行Aapt

任何想到我們該如何解決的問題,我嘗試構建/清理都沒有用。

提前致謝。

我遇到了同樣的問題,在星期五,我正常進行了構建,在星期一,當嘗試再次執行時,出現了錯誤“任務執行失敗”:app:processDebugResources'“以及Aapt2Exception:AAPT2錯誤上的一些堆棧跟蹤。

顯然,這與Google啟動support-v4和api級更新的新版本有關

鏈接表示安裝cordova-android-support-gradle-release插件可以解決此問題。

將以下代碼添加到platform / android目錄的build.gradle中

configurations.all {
    resolutionStrategy.force 'com.android.support:support-v4:27.1.0'
}

就我而言,它沒有解決,但是我可能做錯了,希望它可以解決。

-更新1

Google已於2019年6月17日發布了Google Play服務庫和Firebase的更新,我相信我們的問題與此直接相關。 他們建議以下設置:

  • 將com.android.tools.build:gradle升級到v3.2.1或更高版本。
  • 將compileSdkVersion升級到28或更高版本。
  • 更新您的應用程序以使用Jetpack(AndroidX); 按照遷移到AndroidX中的說明進行操作。

對於Cordova應用程序,我仍然不知道如何確切地反映這些更改,並且我處於無法構建應用程序更新的發布周期中,這真的很可悲:(

-更新2

我現在通過編輯位於platforms / android目錄中的project.properties文件找到了一個解決方案。

我將此文件中的所有庫都以“ +”更改為固定版本號,此版本號早於17日發布的版本號,您可以在此處進行檢查但這仍然不是最佳解決方案,因為可以將該文件如果您需要刪除並重新包含平台,則將其刪除。

-更新3

正如Leonardo所解釋的,發生此問題的原因是firebase和play服務庫的更新以及cordova依賴項的自動更新。 可以使用projects.root目錄中的build-extras.gradle文件中的configure.all代碼+掛鈎修復此錯誤,以自動將設置副本復制到platform / android中,如該鏈接所述

PS:對不起,我的英語不好。

在項目的platform / android文件夾內的build-extras.gradle中添加:

configurations.all {
    resolutionStrategy {
         force 'com.android.support:support-v4:27.1.1'
         force 'com.google.android.gms:play-services-tagmanager:16.0.8'
         force 'com.google.android.gms:play-services-base:16.1.0'
         force 'com.google.android.gms:play-services-tasks:16.0.1'
         force 'com.google.android.gms:play-services-basement:16.2.0'
         force 'com.google.android.gms:play-services-gcm:16.1.0'
         force 'com.google.android.gms:play-services-stats:16.0.1'
         force 'com.google.android.gms:play-services-location:16.0.0'
         force 'com.google.android.gms:play-services-auth:16.0.1'
         force 'com.google.android.gms:play-services-identity:16.0.0'
    }
}

這樣,您將強制構建忽略特定服務的更新,並使用以前的版本。

而且您不需要更改任何插件(也不是android平台版本):)

PS每次更新Firebase的庫時,都會發生這種情況..非常煩人。 我很想能夠關閉build命令上的自動依賴項更新,但是我認為這是不可能的。

由於Firebase庫的“ android X”的最新更新而在此問題中進行了兩天的努力后:

https://developer.android.com/jetpack/androidx/migrate

解決方案如下:確保以下各項:

  • 將com.android.tools.build:gradle升級到v3.2.1或更高版本。
  • 將compileSdkVersion升級到28或更高版本。 更新您的應用程序以使用
  • Jetpack(AndroidX); 按照遷移到AndroidX中的說明進行操作。

對於Cordova項目,只需添加以下插件:

這些插件將修復構建錯誤。 一切都會正常:) ..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM