Cordova-plugin-firebase: Больше не могу строить на Android

Созданный на 18 июн. 2019  ·  59Комментарии  ·  Источник: arnesson/cordova-plugin-firebase

Я нормально разрабатывал свое приложение. Сегодня я смог построить его 10 раз успешно.
Однако я снова компилировал, и теперь я больше не могу работать, когда в проекте есть плагин firebase.

Если я удалю плагин, проект запустится.

Я использую [email protected] (не могу обновить до 8.0.0)

Возникает следующая ошибка сборки:

:app:processDebugResources/home/sandro/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/c9104c96e21bf9c9613f4661f4e5d49e/res/values/values.xml:246:5-69: AAPT: error: resource android:attr/fontVariationSettings not found.

/home/sandro/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/c9104c96e21bf9c9613f4661f4e5d49e/res/values/values.xml:246:5-69: AAPT: error: resource android:attr/ttcIndex not found.

/home/user/my_cordova_project/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:244: error: resource android:attr/fontVariationSettings not found.
/home/user/my_cordova_project/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:244: error: resource android:attr/ttcIndex not found.
error: failed linking references.

Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
    at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
    at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)
    ... 48 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    ... 1 more
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:463)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:415)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.

У кого-нибудь еще есть такая же проблема? Спасибо.

Самый полезный комментарий

Решение, которое я взял из этого комментария https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503041641

  1. поместите build-extras.gradle в корень вашего проекта
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. поместите этот код ловушки в свои скрипты / copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. настроить хук в config.xml внутри платформы Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. переустановите платформу, чтобы активировать крюк
cordova platform rm android
cordova platform add android

работал у меня, надеюсь, подойдет и вам

Все 59 Комментарий

боролись с той же проблемой уже три дня

Привет @SandroMoretti!

Я весь день борюсь с этой проблемой ... Мой проект также не может быть обновлен до Cordova 8, поэтому я даже решил портировать на Ionic 4 (это было сделано с Ionic 3). Итак, с Cordova 8 и Ionic 4 после многих ошибок я пришел к той же точке ... Ошибка, которую вы опубликовали, связана с Android 28, и причина в том, что эта библиотека использует com.google. firebase: firebase-X : + 'в качестве зависимости, а вчера Firebase выпустила критический выпуск

Любая помощь будет оценена, спасибо!

То же самое. Я думаю, это потому, что плагин зависит от com.google.firebase:firebase-auth:+ который только что обновился:

https://developers.google.com/android/guides/releases

Прекращена поддержка API <28

Тоже проблема! Я больше не могу строить на android.

У меня та же проблема, теперь я не могу скомпилировать приложение и получаю эту ошибку:

:app:processDebugResources
C:\Users\mmzep\.gradle\caches\transforms-1\files-1.1\core-1.0.0.aar\73b4a83ab5e76f20c84a66b1c8444d08\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.

C:\Users\mmzep\.gradle\caches\transforms-1\files-1.1\core-1.0.0.aar\73b4a83ab5e76f20c84a66b1c8444d08\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/ttcIndex not found.

C:\Users\mmzep\Desktop\mario\Seven\SevenPassengerApp\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:95: error: resource android:attr/fontVariationSettings not found.
C:\Users\mmzep\Desktop\mario\Seven\SevenPassengerApp\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:95: error: resource android:attr/ttcIndex not found.
error: failed linking references.

Failed to execute aapt

com.android.ide.common.process.ProcessException: Failed to execute aapt

        at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
        at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
        at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

У меня очень сжатые сроки, и это нарушает мой проект, поскольку он полностью полагается на firebase.

похоже, этот рецепт мне помог https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503041641

Здесь та же проблема. Я пытался обновить все зависимости с требованиями на https://firebase.google.com/support/release-notes/android#20180523 и cordova android до 8.0.0, но безуспешно. Когда я удаляю cordova-plugin-firebase, он работает. Вот ошибка, которую я получаю:

Dependency failing: com.google.android.gms:play-services-tagmanager-api:15.0.2 -> com.google.android.gms:play-services-m
  easurement-base@[15.0.2], but play-services-measurement-base version was 15.0.4.

  The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
  ifact with the issue.
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.firebase:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]

Так что нельзя строить с помощью firebase.

Этим утром я уже вспотел, когда увидел, как gradle загружает новые файлы maven, и, как я и ожидал, все это взорвалось!

То же самое. любое решение, пожалуйста

Решение, которое я взял из этого комментария https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503041641

  1. поместите build-extras.gradle в корень вашего проекта
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. поместите этот код ловушки в свои скрипты / copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. настроить хук в config.xml внутри платформы Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. переустановите платформу, чтобы активировать крюк
cordova platform rm android
cordova platform add android

работал у меня, надеюсь, подойдет и вам

это лучшее решение с меньшим количеством «хаков»: https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503135862 (требуется cordova-android @ 8)

Спасибо @igorkurochka , снова действительно работаю.

PS: Я использую Cordova 6.5 и Android 7.1.4, поэтому не нужно обновляться до Android 8, как сказал Дэнн.

@SandroMoretti, я думаю, это хорошо, если вы можете обновить, сделайте это .. потому что этот плагин вызовет больше головной боли, так как в апреле я использовал вилку плагина, чтобы решить проблему сборки, я использовал cordova-android @ 7 , кажется, некоторые библиотека, которая зависит от этого плагина, больше не поддерживает API <28, поэтому хорошо использовать cordova-android @ 8, который использует API 28 ...

@ dann95 , я знаю. Пробовал обновить. Не знаю почему, но не могу обновить кордову.

Npm просто установите Cordova 6.5 здесь. Возможно, это моя устаревшая система (убунту 14).
Когда-нибудь я зарезервирую день для обновления своей ОС, а затем обновлю кордову и платформу Android.
Спасибо.

ваш Cordova cli установлен глобально, вы должны удалить его глобально. "-g" xD

@SandroMoretti, я думаю, это хорошо, если вы можете обновить, сделайте это .. потому что этот плагин вызовет больше головной боли, так как в апреле я использовал вилку плагина, чтобы решить проблему сборки, я использовал cordova-android @ 7 , кажется, некоторые библиотека, которая зависит от этого плагина, больше не поддерживает API <28, поэтому хорошо использовать cordova-android @ 8, который использует API 28 ...

Раньше каталог cordova-plugin-firebase был 93,9 МБ, теперь 1,30 МБ.
Раньше cordova-plugin-cocoapod-support не устанавливался, теперь он установлен.

То же самое и для вас?

@pegasx
cocoapod-support у меня не установлен.

@pegasx
cocoapod-support у меня не установлен.

К сожалению, вы не установили решение dpa99c. Итак, вопрос к @ dann95.

Раньше каталог cordova-plugin-firebase был 93,9 МБ, теперь 1,30 МБ.
Раньше cordova-plugin-cocoapod-support не устанавливался, теперь он установлен.

То же самое и для вас?

image

cocoapod должен быть "быстрым", он был установлен и в моем Linux, выясним, почему

насчет размера, я знаю, какой был размер раньше, но, похоже, он работает.

это решение сработало для меня, но мне пришлось создать новый проект и скопировать все мои файлы в этот новый проект, потому что использование шагов в ссылке создало больше проблем в существующем репозитории ...

Спасибо @igorkurochka , снова работаю.

@igorkurochka
Спасибо за исправление. Это работает и с моей стороны. Насколько я понимаю, приведенный ниже список - это зависимости плагина firbase. Разве они не должны определяться самим плагином? Добавление их в проект Android с помощью внешней ловушки Cordova выглядит как обходной путь, но не решение. Есть ли шанс создать пул-реквест, чтобы получить точные версии зависимостей, определенных в главном репозитории? Спасибо.

`` ''
def dependencyMap = [
"com.google. firebase: firebase-core ": "16.0.8",
"com.google. firebase: firebase-iid ": "17.1.1",
"com.google. firebase: firebase-messaging ": "17.5.0",
"com.google. firebase: firebase-config ": "16.4.0",
"com.google. firebase: firebase-perf ": "16.2.4",
"com.google.android. gms: play-services-tagmanager ": "16.0.8",
"com.google. firebase: firebase-auth ": "16.2.0"
]

@SandroMoretti
Верно то, что @igorkurochka устранила проблему, но это скорее обходной путь, а не решение. Версии зависимостей плагина должны определяться плагином, а не приложением cordova. Это исправление может стать ненадежным в случае изменения зависимостей плагина.

Предлагаю снова открыть этот вопрос.

Решение, которое я взял из этого комментария # 1081 (комментарий)

  1. поместите build-extras.gradle в корень вашего проекта
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. поместите этот код ловушки в свои скрипты / copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. настроить хук в config.xml внутри платформы Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. переустановите платформу, чтобы активировать крюк
cordova platform rm android
cordova platform add android

работал у меня, надеюсь, подойдет и вам

Привет @igorkurochka , я все еще сталкиваюсь с этой проблемой, не могли бы вы помочь мне в этом
платформы / андроид / приложение / SRC / основной / java / org / apache / cordova / firebase / FirebasePlugin. java: 9 : ошибка: не удается найти символ
import android.support.v4.app.NotificationManagerCompat;

@pankajPizone вы удалили кеш Gradle?

rm -rf ~/.gradle/

@ dann95 из папки android?

"~" означает ваш дом, поэтому он расчистит что-то вроде

/home/myusername/.gradle/

ОК @ dann95, я пробую

@ dann95 все так же

Все в порядке.
Снова открой.
Спасибо @uifox

Дэн, о моем Cordova Cli, я был удален глобально и переустановлен глобально.
Как я уже сказал, после переустановки оставьте 6.5.

Спасибо.

@SandroMoretti вы нашли какое-нибудь решение?
Я столкнулся с этой проблемой
firebase / FirebasePluginMessagingService. java: 11 : ошибка: не удается найти символ
import android.support.v4.app.NotificationCompat;

@SandroMoretti, возможно,

@pankajPizone вы можете показать свой config.xml со всеми плагинами?

@ dann95 вот плагин в config.xml

<plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
    <plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
    <plugin name="cordova-plugin-ionic-webview" spec="^2.4.0">
        <variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
    </plugin>
    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.3" />
    <plugin name="cordova-plugin-firebase" spec="^2.0.5" />
    <plugin name="cordova-plugin-facebook4" spec="^4.2.1">
        <variable name="APP_ID" value="xxxxxx" />
        <variable name="APP_NAME" value="x x" />
        <variable name="FACEBOOK_ANDROID_SDK_VERSION" value="4.38.1" />
        <variable name="FACEBOOK_HYBRID_APP_EVENTS" value="false" />
    </plugin>
    <plugin name="cordova-plugin-nativegeocoder" spec="^3.2.0" />
    <plugin name="cordova-plugin-geolocation" spec="^4.0.1">
        <variable name="GEOLOCATION_USAGE_DESCRIPTION" value="To locate you" />
    </plugin>
    <plugin name="cordova-plugin-appavailability" spec="^0.4.2" />
    <plugin name="cordova-plugin-media" spec="^5.0.2" />
    <plugin name="cordova-plugin-music-controls" spec="^2.2.0" />
    <plugin name="cordova-plugin-contacts" spec="^3.0.1" />
    <plugin name="cordova-plugin-applemusic" spec="^1.3.3" />
    <plugin name="cordova-plugin-apple-music" spec="^0.2.5" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
    <plugin name="com.telerik.plugins.nativepagetransitions" spec="^0.6.5" />
    <plugin name="cordova-plugin-applemusic" spec="^1.3.3" />
    <plugin name="cordova-plugin-apple-music" spec="^0.2.5" />
    <plugin name="cordova-plugin-add-swift-support" spec="1.7.2" />
    <allow-navigation href="http://192.168.1.120:8100" sessionid="8e9a7c7b" />
    <plugin name="com.telerik.plugins.nativepagetransitions" spec="0.6.5" />
  <plugin name="cordova-plugin-googleplus" spec="7.0.0">
        <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.xxxxxxx" />
        <variable name="WEB_APPLICATION_CLIENT_ID" value="xxxxx-xxxxxxx.apps.googleusercontent.com" />
        <variable name="PLAY_SERVICES_VERSION" value="11.8.0" />
    </plugin>
    <plugin name="cordova-plugin-device" spec="../../cordova-plugin-device" />
    <plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" spec="5.0.4">
        <variable name="GOOGLE_API_KEY_FOR_ANDROID" value="xxxxx" />
        <variable name="OKHTTP_VERSION" value="3.12.0" />
    </plugin>
    <plugin name="cordova-plugin-customurlscheme" spec="4.3.0">
        <variable name="URL_SCHEME" value="spotifyapp" />
        <variable name="ANDROID_SCHEME" value=" " />
        <variable name="ANDROID_HOST" value=" " />
        <variable name="ANDROID_PATHPREFIX" value="/" />
    </plugin>
    <plugin name="cordova-spotify-oauth" spec="0.1.11" />
    <plugin name="cordova-spotify" spec="0.5.8" />
    <plugin name="cordova-plugin-geofence" spec="0.7.0" />
    <engine name="ios" spec="4.5.5" />
    <engine name="android" spec="8.0.0" />

@ dann95 помогает ли найти проблему?

@pankajPizone, я понятия не имею, почему, вы пытались снова удалить и добавить платформу?

@ dann95 Я пробовал много раз.

Я исправил эту проблему с помощью двух плагинов

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

@pankajPizone Я

У меня все еще возникают проблемы с этим обновлением:

  • Что пошло не так:
    Не удалось определить зависимости задачи ': app: compileDebugJavaWithJavac '.

    Не удалось разрешить все зависимости задач для конфигурации ': app: debugCompileClasspath '.
    Не удалось найти версию, соответствующую androidx. наследие: поддержка-наследие-v4 : 27. +.
    Несовпадающие версии:

    • 1.0.0
    • 1.0.0-rc02
    • 1.0.0-rc01
    • 1.0.0-beta01
    • 1.0.0-alpha3

      • 1 более

        Требуется:

        проект: приложение

  • Пытаться:
    Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить дополнительный вывод журнала. Запустите с --scan, чтобы получить полную информацию.

  • Получите дополнительную помощь на https://help.gradle.org

СТРОИТЕЛЬСТВО НЕ УДАЛОСЬ через 58 с.
C: UsersAdminDesktopOMNICARomnicarplatformsandroidgradlew: сбой команды с кодом выхода 1 Вывод ошибки:
ОШИБКА: сбой сборки за исключением.

  • Что пошло не так:
    Не удалось определить зависимости задачи ': app: compileDebugJavaWithJavac'.
    > Не удалось разрешить все зависимости задач для конфигурации ': app: debugCompileClasspath'.
    > Не удалось найти ни одной версии, соответствующей androidx. наследие: поддержка-наследие-v4 : 27. +.
    Несовпадающие версии:

    • 1.0.0

    • 1.0.0-rc02

    • 1.0.0-rc01

    • 1.0.0-beta01

    • 1.0.0-alpha3



      • 1 более


        Требуется:


        проект: приложение



Похоже, что когда я добавляю платформу, зависимости в build.gradle верны, но когда я выполняю "cordova compile", мои зависимости снова становятся неправильными.

Кордова плагин ls
Кордова-ткань-плагин 1.1.14-dev "Кордова-ткань-плагин"
cordova-plugin-android-permissions 1.0.0 "Разрешения"
cordova-plugin-androidx 1.0.2 «Кордова-плагин-androidx»
cordova-plugin-androidx-adapter 1.0.2 "cordova-plugin-androidx-adapter"
cordova-plugin-camera 4.0.3 "Камера"
cordova-plugin-cocoapod-supportx 1.6.1 «Поддержка зависимостей Cordova CocoaPods»
cordova-plugin-crop 0.3.1 "CropPlugin"
cordova-plugin-device 1.1.7 "Устройство"
cordova-plugin-file 6.0.1 "Файл"
cordova-plugin-filechooser 1.2.0 "Выбор файлов"
Кордова-плагин-путь к файлу 1.5.5 "Кордова-плагин-путь к файлу"
cordova-plugin-firebasex 2.0.6 "Плагин Google Firebase"
cordova-plugin-geolocation 4.0.1 "Геолокация"
cordova-plugin-googlemaps 2.6.3-20190614-1928 "cordova-plugin-googlemaps"
Кордова-плагин-ионная-клавиатура 2.1.3 "Кордова-плагин-ионная-клавиатура"
Cordova-plugin-ionic-webview 2.5.0 «Кордова-плагин-ionic-webview»
cordova-plugin-screen-Orientation 3.0.1 "Ориентация экрана"
cordova-plugin-splashscreen 5.0.2 "Экран-заставка"
cordova-plugin-statusbar 2.4.2 «StatusBar»
cordova-plugin-whitelist 1.3.3 "Белый список"
cordova-sqlite-storage 3.2.0 "Плагин хранилища Cordova sqlite - версия плагина cordova-sqlite-storage"
es6-prom-plugin 4.2.2 "Обещание"
info.protonet.imageresizer 0.1.1 "Image Resizer"
OneSignal-Cordova-plugin 2.4.7 «Push-уведомления OneSignal»

У меня тоже проблема с error: cannot find symbol class NotificationManagerCompat . Я бы хотел увидеть PR, чтобы исправить это. Я в настоящее время разветвлен от вилки wizpanda.

Я исправил эту проблему с помощью двух плагинов

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

Моя также успешно построена с этим решением, но это какая-то ошибка, которая делает мое приложение непригодным для использования. Это похоже на то, что если бы плагины были бы недоступны, я добавил их правильно. Собственно adb logcat выдает:
AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/www/cordova_plugins.js
Но я почти уверен, что создал проект правильно. Полностью потерялся.

@AurumLinux Вы должны попытаться перестроить свое приложение шаг за шагом, начиная с команд в этом комментарии ...
Я также погряз в ошибках, когда пытался просто установить плагины поверх моего существующего старого проекта.

Проблема заключалась в том, что я добавлял плагин cordova-plugin-admobpro-firebase вместо cordova-plugin-admobpro. Теперь все работает нормально.

cordova-plugin-firebase -> src -> android -> build.gradle изменить строку № 20 com.google. firebase: firebase-auth : + в com.google. firebase: firebase-auth : 16.2.1

хорошо работает с:

плагин ionic cordova добавить cordova-plugin-androidx
Плагин ionic cordova добавить адаптер Cordova-plugin-androidx

хорошо работает с:

плагин ionic cordova добавить cordova-plugin-androidx
Плагин ionic cordova добавить адаптер Cordova-plugin-androidx

@fvadouko какой андроид ты используешь? 7.1 или 8.0? любые другие совместимые библиотеки или исправления?

@AurumLinux Вы должны попытаться перестроить свое приложение шаг за шагом, начиная с команд в этом комментарии ...
Я также погряз в ошибках, когда пытался просто установить плагины поверх моего существующего старого проекта.

Я боролся с этой ошибкой уже несколько дней. как только я перешел на вилку из связанного комментария, все заработало

Решение, которое я взял из этого комментария # 1081 (комментарий)

  1. поместите build-extras.gradle в корень вашего проекта
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. поместите этот код ловушки в свои скрипты / copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. настроить хук в config.xml внутри платформы Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. переустановите платформу, чтобы активировать крюк
cordova platform rm android
cordova platform add android

работал у меня, надеюсь, подойдет и вам

ТОП 👏🏽

столкнувшись с той же проблемой, нужна помощь
https://github.com/arnesson/cordova-plugin-firebase/issues/1089

Спасибо @igorkurochka Работает. Я боролся с этим.

У меня проблема
FirebasePlugin.java:365: error: cannot find symbol

Спасибо @igorkurochka. Это сработало с моим проектом.

@igorkurochka, здесь

Решение, которое я взял из этого комментария # 1081 (комментарий)

1. put `build-extras.gradle` in your project root
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
1. put this hook code in your scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
1. configure hook in config.xml inside android platform
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
1. reinstall platform to activate the hook
cordova platform rm android
cordova platform add android

работал у меня, надеюсь, подойдет и вам

Работал как шарм :). Фантастическое решение.

Решение, которое я взял из этого комментария # 1081 (комментарий)

  1. поместите build-extras.gradle в корень вашего проекта
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. поместите этот код ловушки в свои скрипты / copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. настроить хук в config.xml внутри платформы Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. переустановите платформу, чтобы активировать крюк
cordova platform rm android
cordova platform add android

работал у меня, надеюсь, подойдет и вам

Привет, немного поработав, я решил проблему с Invalid Key: null. Однако появилось новое сообщение об ошибке:

* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
The library com.google.android.gms:play-services-analytics-impl is being requested by various other libraries at [[16.0.8,16.0.8], [17.0.0,17.0.0]], but resolves to 17.0.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

Если я откатываю 3 разные библиотеки (play-services-analytics-impl, play-services-analytics и play-services-tagmanager-v4-impl) до версии 16.0.8, чтобы решить эту проблему, я получаю сообщение «Crashlytics обнаружил недопустимый ключ API: null ". опять таки. Очевидно, я получаю то же сообщение, если обновляю "com.google.android.

Любая помощь?

Вот часть моего config.xml
<platform name="android"> <allow-intent href="market:*" /> <hook src="hooks/android_build_extra.js" type="after_prepare" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> </platform> <platform name="android"> <preference name="android-minSdkVersion" value="19" /> <preference name="android-installLocation" value="auto" /> <preference name="disallowOverscroll" value="true" /> </platform> <platform name="ios"> </platform> <plugin name="cordova-plugin-device" spec="^2.0.2" /> <plugin name="cordova-plugin-globalization" spec="1.11.0" /> <plugin name="cordova-plugin-google-analytics" spec="1.8.6" /> <plugin name="cordova-plugin-inappbrowser" spec="3.0.0" /> <plugin name="cordova-plugin-splashscreen" spec="5.0.3" /> <plugin name="cordova-plugin-statusbar" spec="2.4.3" /> <plugin name="cordova-plugin-whitelist" spec="1.3.4" /> <plugin name="cordova-plugin-network-information" spec="2.0.2" /> <plugin name="com.lampa.startapp" spec="6.1.6" /> <plugin name="cordova-plugin-firebase" spec="2.0.5" /> <plugin name="cordova-android-play-services-gradle-release" spec="^4.0.0"> <variable name="PLAY_SERVICES_VERSION" value="11.0.+" /> </plugin> <plugin name="cordova-android-firebase-gradle-release" spec="^4.0.0"> <variable name="FIREBASE_VERSION" value="11.0.+" /> </plugin> <plugin name="cordova-android-support-gradle-release" spec="3.0.1"> <variable name="ANDROID_SUPPORT_VERSION" value="26.+" /> </plugin>

Любая помощь по этому поводу?

Спасибо,

Серги

Я исправил эту проблему с помощью двух плагинов

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

Большое спасибо, чувак !!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги