Ionic 2 - Невозможно добавить пользовательский плагин для Android / IOS с AAR File / IOS Framework - PullRequest
0 голосов
/ 23 октября 2018

У меня есть рамки.Я создал репозиторий на git, чтобы установить его как плагин для моего проекта.Это было проверено без рамки.Но после добавления AAR Framework я сталкиваюсь с проблемами с values.xml AAR Framework.С помощью плагина я могу установить aar framework внутри проекта.Ниже приведены мои файлы проекта.Пожалуйста, дайте мне знать, что я делаю не так.

1.plugin.xml

<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="cordova-plugin-testpayment" version="1.0.0">
   <name>TestPayment</name>
   <js-module name="TestPayment" src="www/TestPayment.js">
      <clobbers target="TestPayment" />
   </js-module>
   <platform name="android">
      <config-file parent="/*" target="res/xml/config.xml">
         <feature name="TestPayment">
            <param name="android-package" value="cordova.plugin.testpayment.TestPayment" />
         </feature>
      </config-file>
      <config-file parent="/*" target="AndroidManifest.xml" />
      <source-file src="src/android/TestPayment.java" target-dir="src/cordova/plugin/testpayment/TestPayment" />
      <framework src="src/android/liquidsdk.gradle" custom="true" type="gradleReference" />
      <resource-file src="src/android/libs/widget-debug.aar" target="libs/widget-debug.aar" />
      <resource-file src="src/android/res/values/colors.xml" target="res/values/colors.xml" />
      <resource-file src="src/android/res/values/strings.xml" target="res/values/strings.xml" />
      <resource-file src="src/android/res/values/styles.xml" target="res/values/styles.xml" />
   </platform>
   <platform name="ios">
      <config-file parent="/*" target="config.xml">
         <feature name="TestPayment">
            <param name="ios-package" value="TestPayment" />
         </feature>
      </config-file>
      <framework src="src/ios/LiquidPayWidget.framework" custom="true" embed="true" />
      <source-file src="src/ios/TestPayment.m" />
   </platform>
</plugin>

2.Структура проекта -

| src-
    | android
           | libs
               | XYZ.aar
           | res
               | values
                     | colors.xml
                     | strings.xml
                     | styles.xml
           | myFile.gradle
           | myFile.java
    | ios
           | XYZ.framework
           | myFile.m
| www
    | myPlugin.js
| build-extras.gradle
| package.json
| plugin.xml

3.Ошибка - ошибка в values.xml файла aar

Information:Gradle tasks [:app:assembleDebug]
/Users/mobilesolution/.gradle/caches/transforms-1/files-1.1/widget-debug.aar/bcf9996b5e370c6ae472fa0793a77af4/res/values/values.xml
Error:(57, 5) error: style attribute 'attr/colorPrimary (aka io.ionic.starter:attr/colorPrimary)' not found.
Error:(57, 5) error: style attribute 'attr/colorPrimaryDark (aka io.ionic.starter:attr/colorPrimaryDark)' not found.
Error:(57, 5) error: style attribute 'attr/colorAccent (aka io.ionic.starter:attr/colorAccent)' not found.
Error:(62, 5) error: style attribute 'attr/windowActionBar (aka io.ionic.starter:attr/windowActionBar)' not found.
Error:(62, 5) error: style attribute 'attr/windowNoTitle (aka io.ionic.starter:attr/windowNoTitle)' not found.
Error:resource style/Theme.AppCompat.Light.DarkActionBar (aka io.ionic.starter:style/Theme.AppCompat.Light.DarkActionBar) not found.
Error:resource style/ThemeOverlay.AppCompat.Dark.ActionBar (aka io.ionic.starter:style/ThemeOverlay.AppCompat.Dark.ActionBar) not found.
/Users/mobilesolution/Documents/Vishal Gole/LiquidPay/IonicApp/PayApp/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
Error:(69) style attribute 'attr/colorPrimary (aka io.ionic.starter:attr/colorPrimary)' not found.
Error:(70) style attribute 'attr/colorPrimaryDark (aka io.ionic.starter:attr/colorPrimaryDark)' not found.
Error:(71) style attribute 'attr/colorAccent (aka io.ionic.starter:attr/colorAccent)' not found.
Error:(75) style attribute 'attr/windowActionBar (aka io.ionic.starter:attr/windowActionBar)' not found.
Error:(76) style attribute 'attr/windowNoTitle (aka io.ionic.starter:attr/windowNoTitle)' not found.
Error:resource style/ThemeOverlay.AppCompat.Light (aka io.ionic.starter:style/ThemeOverlay.AppCompat.Light) not found.
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 5s
Information:18 errors
Information:0 warnings
Information:See complete output in console

- Пожалуйста, дайте мне знать, если я делаю что-то не так.

1 Ответ

0 голосов
/ 29 октября 2018
**ADDING AAR/FRAMEWORK IN IONIC 2 PROJECT**

1) Прежде всего, вы не можете добавить AAR / framework непосредственно к вашему ионному проекту.

2) Вам необходимо создать плагин Cordova, чтобы достичь этого

СОЗДАНИЕПЛЮГИН

1) Выполните следующие действия

npm install -g plugman

2) Затем

plugman create --name (PLUGIN NAME) --plugin_id cordova-plugin-(PLUGIN NAME) --plugin_version 1.0.0

3) Путь к

cd (PLUGIN NAME)

plugman platform add --platform_name ios

plugman platform add --platform_name android

4) Создать пакет .json файл

 plugman createpackagejson .

5) Глобальная структура плагина cordova:

 pluginFolder/

  build-extras.gradle

  plugin.xml

  myaarfolder/

src/

android/

  mybuild.gradle

  (PLUGIN NAME).java

6) В файле plugin.xml:

   <framework src="src/android/mybuild.gradle" custom="true" type="gradleReference"/>

<resource-file src="myaarfolder/my.aar" target="libs/my.aar" />

7) В mybuild.gradle

repositories{    

  jcenter()

  flatDir {

     dirs 'libs'

  }

}

dependencies {

  compile(name:'my', ext:'aar')

 }

android {

   packagingOptions {

      exclude 'META-INF/NOTICE'

      exclude 'META-INF/LICENSE'

     }

  }

8) теперь добавьте плагин к вашему ионному проекту, который вы создали

ionic cordova plugin add (PLUGIN_PATH)

Послевыполняя описанные выше шаги, я выполнил свой проект, но я получил // CORDOV / EXEC NOT AVAILABLE \

Я пробовал в ios Framework там же я получаю ту же ошибку

...