Как создать облачное приложение, пока PlayServices использует AndroidX?

Сегодня я создал новый проект, установил несколько плагинов и нажал «Выполнить» в NativeScript Sidekick, чтобы создать свое приложение в облаке для своего устройства Android, но столкнулся с этой ошибкой:

[00:01:35.796] [WARN]   Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:8:5-18:19 to override.
FAILURE: Build failed with an exception.

Некоторые говорят, что сборка NativeScript Sidekick и NativeScript Cloud пока несовместима с NativeScript 6.

Я часами сидел и читал похожие проблемы на GitHub и Stack Overflow, но ни одна из них не сработала ни для меня, ни для сборки в облаке.

Это мой package.json контент:

{
  "nativescript": {
    "id": "com.app.test",
    "tns-android": {
      "version": "5.4.0"
    },
    "tns-ios": {
      "version": "5.4.2"
    }
  },
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "repository": "<fill-your-repository-here>",
  "dependencies": {
    "nativescript-geolocation": "5.1.0",
    "nativescript-mapbox": "4.4.1",
    "nativescript-plugin-firebase": "9.0.3",
    "nativescript-theme-core": "1.0.6",
    "nativescript-ui-autocomplete": "5.0.0",
    "nativescript-ui-dataform": "5.0.0",
    "nativescript-ui-listview": "7.0.1",
    "nativescript-ui-sidedrawer": "7.0.0",
    "nativescript-webrtc-plugin": "2.0.0-alpha.18",
    "tns-core-modules": "5.4.3"
  },
  "devDependencies": {
    "nativescript-dev-typescript": "~0.10.0",
    "nativescript-dev-webpack": "~0.24.0"
  },
  "gitHead": "**************",
  "readme": "NativeScript Application",
  "author": "***"
}

Редактировать

Я не использую NS 6, я использую NS 5, так как Sidekick еще не совместим с NS 6. Кроме того, я удалил плагины компонентов UI Pro, и теперь он работает. Профессиональные плагины пользовательского интерфейса могут работать, если я использую более старые версии.


person plain.js    schedule 20.07.2019    source источник
comment
Обратите внимание, что здесь религиозные материалы удаляются, просто как мы занимаемся политикой и прочим разговором не по теме. Давайте продолжим программировать, пожалуйста.   -  person halfer    schedule 25.07.2019


Ответы (1)


Я не уверен в совместимости сборки SideKick/Cloud и 6.0/AndroidX, которая обычно отстает на пару недель. Однако я могу сказать вам на основе вашего файла пакета, что это не сработает. Вы смешиваете Android и AndroidX :)

Для NativeScript требуется среда выполнения NS 6.0 для AndroidX. NS 5.4 не использует AndroidX. Но вы используете версии NS-UI, которые являются AndroidX.

Итак, чтобы проверить, поддерживает ли сборки sidekick/cloud AndroidX, я бы внес следующие изменения:

{
  "nativescript": {
    "id": "com.app.test",
    "tns-android": {
      "version": "5.4.0"
    },
    "tns-ios": {
      "version": "5.4.2"
    }
  },

Необходимо изменить на

{
  "nativescript": {
    "id": "com.app.test",
    "tns-android": {
      "version": "6.0.0"
    },
    "tns-ios": {
      "version": "6.0.1"
    }
  },

Кроме того, необходимо изменить:

"devDependencies": {
    "nativescript-dev-typescript": "~0.10.0",
    "nativescript-dev-webpack": "~0.24.0"
  },

to

"devDependencies": {
    "nativescript-dev-webpack": "~1.0.1"
  },

И, наконец, это: "tns-core-modules": "5.4.3" должно быть "tns-core-modules": "~6.0.1"

Что касается остальных зависимостей; это трудно сказать; потому что NativeScript только что перешел на AndroidX; это хорошее изменение по сравнению с некоторыми другими плагинами, которые вы перечислили; может быть несовместим с AndroidX. Честно говоря, я бы сначала попробовал создать приложение без каких-либо дополнительных плагинов:

"dependencies": {
    "nativescript-theme-core": "1.0.6",
    "tns-core-modules": "~6.0.0"
  }, 
person Nathanael    schedule 20.07.2019