首页 文章

构建错误-Ionic Cordova失败,因为android [重复]

提问于
浏览
7

这个问题在这里已有答案:

运行命令“ionic cordova build android --stacktrace”时出现以下错误:

:generateDebugResources
:mergeDebugResources

:processDebugManifest

:processDebugResources
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
 FAILED
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex

I am using following tools on Window's:
 Editor : VScode

Ionic: C:\Users\xyz>ionic -version
3.19.1
Npm as packagemanager

项目属性:

target=android-26
cordova.system.library.1=com.google.android.gms:play-services-analytics:+
cordova.system.library.2=com.facebook.android:facebook-android-sdk:4.+
cordova.gradle.include.1=cordova-plugin-appsflyer-sdk/customerapp-cordovaAF.gradle
cordova.gradle.include.2=twitter-connect-plugin/customerapp-twitter.gradle
cordova.system.library.3=com.android.support:support-v4:26.+
cordova.system.library.4=com.android.support:appcompat-v7:26.+
cordova.system.library.5=com.android.support:support-v4:24.1.1+
cordova.system.library.6=com.android.support:support-v4:+
android.library.reference.1=CordovaLib

8 回答

  • 3

    我不得不做以上两个答案的内容:

    platforms/android/phonegap-plugin-barcodescanner

    搜索 compile 'com.android.support:support-v4:+ 并替换 compile 'com.android.support:support-v4:27+' .

    platforms/android

    搜索 cordova.system.library.2=com.android.support:support-v4:+ 并替换 cordova.system.library.2=com.android.support:support-v4:27.1.0 .

    希望能帮助到你 .

  • 0

    我只需要在de.appplant.cordova.plugin.local-notification插件中进行类似的修复 . 我将'com.android.support:support-v4:'更改为'com.android.support:support-v4:23'然后删除并添加了android平台并构建它 . 但是,我的build-extras.gradle中还有一个额外的大括号'}',也必须删除 .

  • 1

    在离子论坛上找到了这个https://forum.ionicframework.com/t/android-build-broken-after-gradle-dependencies-update-execution-failed-for-task-processdebugresources-com-android-ide-common-process-processexception-failed-to-execute-aapt/109982/134对我有用的建议是“我得到了它的工作,我的问题是在 cordova-plugin-file-opener2 .
    plugin.xml 中将 com.android.support:support-v4:+ 更改为插件文件夹和node_modules文件夹中 cordova-plugin-file-opener2com.android.support:support-v4:+ .
    然后在 platforms/androidproject.properties 中执行相同的操作 .
    然而我的插件是背景地理位置,实际上我不相信我必须在 project.properties 中修复我的 .

  • 3

    在我的情况下,问题是条形码扫描仪插件 . 删除和添加此插件不起作用,毕竟通过将文件 'platform/android/phonegap-plugin-barcodescanner/-barcodescanner' 中的 'com.android.support:support-v4:+' 更改为 'com.android.support:support-v4:27+' 来使其工作 . 我不明白的是项目昨天工作得很好,24小时内发生的事情发生了这个问题......

  • 0

    有同样的问题,我做的是:

    • 清除构建目录

    • cordova干净

    • 将android - > defaultConfig下的multiDexEnabled添加到build.gradle文件中

    • "your project\platforms\android\app\build.gradle"

    • multiDexEnabled是的

    • 在build.gradle文件中更改"com.android.support"的依赖项

    • com.android.support:support-v4:=> com.android.support:support-v4:23

    • 浏览插件文件夹并查看所有"plugins.xml"并替换:

    • com.android.support:support-v4:=> com.android.support:support-v4:23

    • 在"platforms\android\project.properties"下更改project.properties

    • cordova.system.library.4 = com.android.support:support-v4:23

    • 运行"ionic cordova run build"

    无法合并dex

    清洁安装

    命名空间/版本错误

    .

    android {
    
        defaultConfig {
            multiDexEnabled true
            versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode"))
            applicationId privateHelpers.extractStringFromManifest("package")
    
            if (cdvMinSdkVersion != null) {
                minSdkVersion cdvMinSdkVersion
            }
        }
    }
    
  • 2

    我没有在我搜索的主题的指定路径中找到“com.android.support:support-v4:”,因为我最后在所有文件夹中尝试并找到了

    platforms / android / phonegap-plugin-barcodescanner.gradle

    在我的情况下,插件是 barcodescanner ,在你的可能是另一个 . 然后我按照信息更换了"'com.android.support:support-v4:27+"并且它有效 .

    我想知道它是否在昨天完美运行,今天我只改变了一个文本并给出了这个错误......在构建期间我意识到发生了一些下载我相信发生了更新导致了这一点 .

  • 0

    我昨天也遇到了同样的问题 . 它是随机开始的,但是从阅读开始,看起来它与@ cpro90上面提到的更新有关 . 但是,我尝试过,无法找到进行必要手动更改的位置 .

    最后我发现问题是由我的cordova-plugin-crosswalk-webview插件引起的 . 在Github上,我今天早上在插件上发现了这个问题,它在午餐时有超过520个观看次数 .

    @UNUMObile在build.gradle文件中建议以下内容强制全局使用早期版本:

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

    这对我来说很有效,并且可以帮助其他插件,这些插件也依赖于'com.android.support:support-4:<28 . 新版本28似乎是个问题 .

    希望这有助于某人前进 .

  • 10

    用plugin.xml中的固定版本替换 'com.android.support:support-v4:+''com.android.support:support-v4:27+' 对我们没有用 - cordova crosswalk更新了至少一个支持库到版本 28.0.0-alpha1 .

    为每个依赖项强制支持库的固定版本最终可以解决问题 .

    configurations.all {
    resolutionStrategy {
        eachDependency { DependencyResolveDetails details ->
            if (details.requested.group == 'com.android.support') {
                details.useVersion "27.1.0"
            }
        }
    }
    

相关问题