๋ฒ๊ทธ ์ค๋ช
Firebase ๋ฒ์ ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ์ง๊ธ๊น์ง ์๋ ์ค์ด๋ ์ค ๊ฐ์๊ธฐ ์ค๋ฅ๊ฐ ํ์๋๊ธฐ ์์ํ์ต๋๋ค.
์ฌํํ๊ธฐ ์ํด
๋์์ ์ฌํํ๋ ๋จ๊ณ:
์์๋๋ ํ๋
๋น๋ ์ฑ๊ณต
์คํฌ๋ฆฐ์ท
์ฝ์ ๋ก๊ทธ
ํ๋ฌ๊ทธ์ธ ๋ฒ์
์ฌ์ฉ
์ถ๊ฐ ์ปจํ
์คํธ
๋น๋๋ ์ด์ ์ ์๋ํ์ต๋๋ค.
๊ฐ์. Google์ ์ด์ ๋น๋๋ฅผ ์ค๋จํ๋ ํจ๊ณผ๊ฐ ์๋ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ์ํ์ต๋๋ค. https://firebase.google.com/support/release-notes/android#update_ -_june_17_2019 ๋๋ https://developers.google.com/android/guides/ ๋ฆด๋ฆฌ์ค
๋๋ ํ์ฌ https://github.com/arnesson/cordova-plugin-firebase/issues/1057 ์ ์ ๊ณต๋ ๋ช ๊ฐ์ง ์์ด๋์ด๋ฅผ ์๋ํ๊ณ ์์ง๋ง ์ง๊ธ๊น์ง๋ ์ด์ด ์์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค... ๋ช ๋ฌ์ ํ ๋ฒ Google์ ์ด๋ฌํ ์์ง์์ ์ง๋ ค...
์ค๋ ์์นจ๋ถํฐ ๊ฐ์ ์ค๋ฅ
๋ด ๊ตฌ์ฑ์
compile "com.google.firebase:firebase-core:16.0.8"
compile "com.google.firebase:firebase-messaging:17.5.0"
compile "com.google.firebase:firebase-config:16.4.1"
compile "com.google.firebase:firebase-perf:16.2.4"
ํ๋ฌ๊ทธ์ธ ๋ฒ์ v2.0.5 ์ฌ์ฉ
๋ฐฉ๊ธ ํ๋ซํผ์ ์๋ก ์ถ๊ฐํ๊ณ ๋น๋ํ๋ ค๊ณ ํฉ๋๋ค.
๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์
๋ด ๋น๋ gradle ๋ฒ์ ์ 3.2.1๋ณด๋ค ์์ 3.0.1์ด๊ณ ์ปดํ์ผ sdkVersion์ 27+์ด๋ฏ๋ก Firebase ๋ฉ์์ง ์ค์ ์ 19.0.0 ๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋์์ด ๋์ง ์์ต๋๋ค.
์ฌ๊ธฐ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋ชจ๋ ๊ณณ์์ firebase-iid ๋ฒ์ ์ 17.1.1๋ก ๊ฐ์ ์ ์ฉํ๋ ค๊ณ ์๋ํ์ง๋ง ์ด๋ฒ์๋ dex ๋ณํฉ๊ณผ ๊ด๋ จ๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ ๊ฒ ๊ฐ์์... ๋ค์ ํ์ธํ๊ฒ ์ต๋๋ค
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๋ ์์ผ๋ ์นด๋ ์ข ์์ฑ๊ณผ ์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ Google์ด ์ด์ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ๋ค๋ ์ฌ์ค์ ๋๋ค.
๊ฒ๋ค๊ฐ firebase-iid
๋ณด๋ค๋ ์์กด์ฑ์ ํด๊ฒฐํ๋๋ฐ๋ D8: Program type already present: android.support.v4.app.INotificationSideChannel
์๋ฌ๊ฐ ๋๋ ๋ฐ ์ค๋ ์๊ฐ์ ๋ฒํ
ผ๋ค.
๋ด ์ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://github.com/arnesson/cordova-plugin-firebase/issues/1057#issuecomment -493917518์์ @punksta (thx a lot)๊ฐ ํ์ํ๋ ํํฌ ๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ๊ตฌํํฉ๋๋ค.
๋ค์ ์ข ์์ฑ์ ์ ๊ณตํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ข ์์ฑ์ ๊ฐ๊ฐ ๋ค์ ์์ฑํฉ๋๋ค.
"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"
$ firebase-iid
17.1.1
$๋ฅผ ์ ๊ณตํ๋ฉด ์ข
์์ฑ ์์ผ๋ ์นด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
$ firebase-auth
16.2.0
๋ฅผ ์ ๊ณตํ๋ฉด ํด๋์ค ๊ฒฝ๋ก ๋ฌธ์ ์ ์๋ ์ด์ค ํด๋์ค๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
์ด ์๋ฃจ์ ์ด Cordova CLI v8์์ ์ ์๋ํ๋ ๋์ ์ ๋ฐ์ดํธ ํ์ญ์์ค. CLI >= v9๋ฅผ ์ฌ์ฉ ์ค์ด๊ฑฐ๋ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ํฅ์ด ์๋ ๊ฒฝ์ฐ ์๋ @dpa99c ์์ ์ ๊ณต๋ ๋ ๊นจ๋ํ ์๋ฃจ์ https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503135862๋ฅผ ์ดํด๋ณด์ญ์์ค.
@peterpeterparker ์ฌ์ฉ ์ค์ธ gradle ๋ฒ์ ์ ๋ฌด์์
๋๊น?
classpath 'com.android.tools.build:gradle:3.0.0'
๋ฅผ ์ฌ์ฉ ์ค์
๋๋ค.
@Kasun002 ๊ฐ์ classpath 'com.android.tools.build:gradle:3.3.0'
๋๋ ๋น์ ์ด ๋งํ ๋ชจ๋ ๊ฒ์ ์
๋ฐ์ดํธํ์ง๋ง (gradel ๋ฒ์ 3.3.0๋ ์ฌ์ฉ) ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ํ ๋น์ ์ ๋ด๊ฐ classpath 'com.google.gms:google-services:4.1.0'
@peterpeterparker ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ์ธ๊ธํ์ต๋๋ค.
๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉ ์ค์ผ ์ ์์ผ๋ฏ๋ก ๊ทํ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ข ์์ฑ๋ ์์ ํด์ผ ํฉ๋๋ค.
Google https://developers.google.com/android/guides/releases ์ ์ถ์ ์ ๋ณด๋ฅผ ์ดํด๋ณด๊ณ ์ค์ ํด์ผ ํ๋ ์ข ์์ฑ์ ์๋ณํด ๋ณด์ธ์.
์์ ์ฝ๋์์ <= 2019๋ 3์ 27์ผ ๋ฆด๋ฆฌ์ค๋ ์ข ์์ฑ์ ์ฌ์ฉํ์ต๋๋ค.
@peterpeterparker ๊ฐ์ฌํฉ๋๋ค. ์๋ฒฝํ๊ฒ ์๋ํ์ต๋๋ค!
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํ @peterpeterparker thx, ์ ๋ฅผ ์กฐ๊ธ ๋์์ฃผ์ค ์ ์์ต๋๊น?
์ด๋ค SDK( target=android-27
)์ ํ๋ซํผ ์์ง( <engine name="android" spec="7.1.4" />
)์ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
@denisnarush <engine name="android" spec="8.0.0" />
@peterpeterparker ๊ฐ์ฌํฉ๋๋ค. ์ ์๋ํฉ๋๋ค.
2019๋ 6์ 21์ผ ์ ๋ฐ์ดํธ
์๋์์ ์ ๋ฐ์ดํธ๋ ์๋ฃจ์ ์ ์ฐธ์กฐํ์ธ์.
์๋ ๋๊ธ
๋ค์์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ก์ปฌ ํดํน์ ํฌํจํ์ง ์๋ ์๋ฃจ์ ์ ๋๋ค.
์ฐธ๊ณ : ์ด ์๋ฃจ์
์ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์ cordova-android
ํ๋ซํผ(v8.0.0)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด:
# create test project
cordova create test io.cordova.firebase.test && cd test
# download the Firebase SDK config for test project (which is required to make the build succeed)
curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json
# add the latest cordova-android platform (v8.0.0)
cordova platform add android<strong i="22">@latest</strong>
# add my fork of this plugin
cordova plugin add cordova-plugin-firebasex
# add plugin to enable AndroidX in the project
cordova plugin add cordova-plugin-androidx
# add plugin to patch existing plugin source that uses the Android Support Library to use AndroidX
cordova plugin add cordova-plugin-androidx-adapter
# build!
cordova build android
์ฝ์ ์ถ๋ ฅ
$ cordova -v
9.0.0 ([email protected])
$ cordova create test io.cordova.firebase.test && cd test
Creating a new cordova project.
$ curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1027 100 1027 0 0 5213 0 --:--:-- --:--:-- --:--:-- 5213
$ cordova platform add android<strong i="29">@latest</strong>
Using cordova-fetch for cordova-android<strong i="30">@latest</strong>
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms\android
Package: io.cordova.hellocordova
Name: HelloCordova
Activity: MainActivity
Android target: android-28
Subproject Path: CordovaLib
Subproject Path: app
Android project created with [email protected]
Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the project
Installing "cordova-plugin-whitelist" for android
This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in.
Adding cordova-plugin-whitelist to package.json
Saved plugin info for "cordova-plugin-whitelist" to config.xml
--save flag or autosave detected
Saving android<strong i="31">@latest</strong> into config.xml file ...
$ cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase.git
Installing "cordova-plugin-firebase" for android
Installing "cordova-plugin-cocoapod-support" for android
Subproject Path: CordovaLib
Subproject Path: app
Adding cordova-plugin-firebase to package.json
$ cordova plugin add cordova-plugin-androidx
Installing "cordova-plugin-androidx" for android
Adding cordova-plugin-androidx to package.json
$ cordova plugin add cordova-plugin-androidx-adapter
Installing "cordova-plugin-androidx-adapter" for android
Adding cordova-plugin-androidx-adapter to package.json
$ cordova build android
cordova-plugin-androidx: Updated gradle.properties to enable AndroidX
cordova-plugin-androidx-adapter: Processed 7 Java source files in 124ms
Preparing Firebase on Android
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=C:\Users\dpa99\AppData\Local\Android\sdk (recommended setting)
ANDROID_HOME=C:\Users\dpa99\AppData\Local\Android\sdk (DEPRECATED)
Starting a Gradle Daemon, 2 incompatible and 4 stopped Daemons could not be reused, use --status for details
BUILD SUCCESSFUL in 4s
1 actionable task: 1 executed
Subproject Path: CordovaLib
Subproject Path: app
Starting a Gradle Daemon, 1 incompatible and 4 stopped Daemons could not be reused, use --status for details
> Configure project :app
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
Observed package id 'build-tools;28.0.3' in inconsistent location 'C:\Users\dpa99\AppData\Local\Android\sdk\build-tools\current' (Expected 'C:\Users\dpa99\AppData\Local\Android\sdk\build-tools\28.0.3')
Already observed package id 'build-tools;28.0.3' in 'C:\Users\dpa99\AppData\Local\Android\sdk\build-tools\28.0.3'. Skipping duplicate at 'C:\Users\dpa99\AppData\Local\Android\sdk\build-tools\current'
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
WARNING: API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getAssemble(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessManifest(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getPackageApplication(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getExternalNativeBuildTasks(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with JetifyTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with JetifyTransform
> Transform okio.jar (com.squareup.okio:okio:1.6.0) with JetifyTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with JetifyTransform
> Transform annotation.jar (androidx.annotation:annotation:1.0.0) with JetifyTransform
> Transform auto-value-annotations.jar (com.google.auto.value:auto-value-annotations:1.6.3) with JetifyTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with JetifyTransform
> Transform core-common.jar (androidx.arch.core:core-common:2.0.0) with JetifyTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with JetifyTransform
> Transform print.aar (androidx.print:print:1.0.0) with JetifyTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with JetifyTransform
> Transform lifecycle-common.jar (androidx.lifecycle:lifecycle-common:2.0.0) with JetifyTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with ExtractAarTransform
> Transform annotation.jar (androidx.annotation:annotation:1.0.0) with IdentityTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with ExtractAarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with ExtractAarTransform
> Transform lifecycle-common.jar (androidx.lifecycle:lifecycle-common:2.0.0) with IdentityTransform
> Transform print.aar (androidx.print:print:1.0.0) with ExtractAarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with ExtractAarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with ExtractAarTransform
> Transform auto-value-annotations.jar (com.google.auto.value:auto-value-annotations:1.6.3) with IdentityTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with ExtractAarTransform
> Transform core-common.jar (androidx.arch.core:core-common:2.0.0) with IdentityTransform
> Transform okio.jar (com.squareup.okio:okio:1.6.0) with IdentityTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with JetifyTransform
> Transform okhttp.jar (com.squareup.okhttp3:okhttp:3.0.0) with JetifyTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with ExtractAarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with JetifyTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with JetifyTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with ExtractAarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with JetifyTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with ExtractAarTransform
> Transform okhttp.jar (com.squareup.okhttp3:okhttp:3.0.0) with IdentityTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with ExtractAarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with JetifyTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with ExtractAarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarCompileClassesTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarCompileClassesTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarCompileClassesTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarCompileClassesTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarCompileClassesTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarCompileClassesTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarCompileClassesTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarCompileClassesTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarCompileClassesTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarCompileClassesTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarCompileClassesTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarCompileClassesTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with JetifyTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with JetifyTransform
> Transform core.aar (androidx.core:core:1.0.0) with JetifyTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with ExtractAarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with ExtractAarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with JetifyTransform
> Transform core.aar (androidx.core:core:1.0.0) with ExtractAarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with ExtractAarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with JetifyTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with ExtractAarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with JetifyTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with JetifyTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with JetifyTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarCompileClassesTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with ExtractAarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with ExtractAarTransform
> Transform collection.jar (androidx.collection:collection:1.0.0) with JetifyTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with ExtractAarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarCompileClassesTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with JetifyTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarCompileClassesTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarCompileClassesTransform
> Transform collection.jar (androidx.collection:collection:1.0.0) with IdentityTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with JetifyTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with JetifyTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with JetifyTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with JetifyTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with ExtractAarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarCompileClassesTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with ExtractAarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with ExtractAarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with ExtractAarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with JetifyTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with ExtractAarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with JetifyTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarCompileClassesTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with JetifyTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with ExtractAarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with ExtractAarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarCompileClassesTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with JetifyTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarCompileClassesTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with JetifyTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with ExtractAarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with ExtractAarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with ExtractAarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with JetifyTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarCompileClassesTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarCompileClassesTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarCompileClassesTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with ExtractAarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarCompileClassesTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with JetifyTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarCompileClassesTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarCompileClassesTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with ExtractAarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with JetifyTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with ExtractAarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with JetifyTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with JetifyTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with JetifyTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with JetifyTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with JetifyTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarCompileClassesTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with ExtractAarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with ExtractAarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with ExtractAarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarCompileClassesTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with ExtractAarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with ExtractAarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarCompileClassesTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarCompileClassesTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with JetifyTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with JetifyTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with ExtractAarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with JetifyTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with ExtractAarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarCompileClassesTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with ExtractAarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarCompileClassesTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarCompileClassesTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarCompileClassesTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarCompileClassesTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with JetifyTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with JetifyTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with ExtractAarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarCompileClassesTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with ExtractAarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with JetifyTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with JetifyTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with ExtractAarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarCompileClassesTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with ExtractAarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarCompileClassesTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with JetifyTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with JetifyTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with JetifyTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with ExtractAarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with ExtractAarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with ExtractAarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarCompileClassesTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarCompileClassesTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarCompileClassesTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with JetifyTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with ExtractAarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarCompileClassesTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with JetifyTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with JetifyTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with ExtractAarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarCompileClassesTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with ExtractAarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with JetifyTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarCompileClassesTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarCompileClassesTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with ExtractAarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with JetifyTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with ExtractAarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with JetifyTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarCompileClassesTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with JetifyTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with ExtractAarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with ExtractAarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarCompileClassesTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarCompileClassesTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with JetifyTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with ExtractAarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarCompileClassesTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarCompileClassesTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarCompileClassesTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarCompileClassesTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with JetifyTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with ExtractAarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarCompileClassesTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarCompileClassesTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarCompileClassesTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarCompileClassesTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarCompileClassesTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with JetifyTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Task :app:preBuild UP-TO-DATE
> Task :CordovaLib:preBuild UP-TO-DATE
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with ExtractAarTransform
> Task :CordovaLib:preDebugBuild UP-TO-DATE
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarCompileClassesTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Task :CordovaLib:checkDebugManifest
> Task :CordovaLib:processDebugManifest
> Task :app:preDebugBuild
> Task :CordovaLib:compileDebugAidl NO-SOURCE
> Task :app:compileDebugAidl NO-SOURCE
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Task :CordovaLib:packageDebugRenderscript NO-SOURCE
> Task :app:compileDebugRenderscript
> Task :app:checkDebugManifest
> Task :app:generateDebugBuildConfig
> Task :app:prepareLintJar
> Task :app:generateDebugSources
> Task :CordovaLib:compileDebugRenderscript
> Task :CordovaLib:generateDebugBuildConfig
> Transform aapt2-windows.jar (com.android.tools.build:aapt2:3.3.0-5013011) with Aapt2Extractor
> Task :CordovaLib:generateDebugResValues
> Task :CordovaLib:generateDebugResources
> Task :CordovaLib:packageDebugResources
> Task :CordovaLib:generateDebugRFile
> Task :CordovaLib:prepareLintJar
> Task :CordovaLib:generateDebugSources
> Task :CordovaLib:javaPreCompileDebug
> Task :CordovaLib:compileDebugJavaWithJavac
> Task :CordovaLib:processDebugJavaRes NO-SOURCE
> Task :CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug
> Task :app:javaPreCompileDebug
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with LibrarySymbolTableTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with LibrarySymbolTableTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with LibrarySymbolTableTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with LibrarySymbolTableTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with LibrarySymbolTableTransform
> Transform print.aar (androidx.print:print:1.0.0) with LibrarySymbolTableTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with LibrarySymbolTableTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with LibrarySymbolTableTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with LibrarySymbolTableTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with LibrarySymbolTableTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with LibrarySymbolTableTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with LibrarySymbolTableTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with LibrarySymbolTableTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with LibrarySymbolTableTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with LibrarySymbolTableTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with LibrarySymbolTableTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with LibrarySymbolTableTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with LibrarySymbolTableTransform
> Transform core.aar (androidx.core:core:1.0.0) with LibrarySymbolTableTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with LibrarySymbolTableTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with LibrarySymbolTableTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with LibrarySymbolTableTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with LibrarySymbolTableTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with LibrarySymbolTableTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with LibrarySymbolTableTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with LibrarySymbolTableTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with LibrarySymbolTableTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with LibrarySymbolTableTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with LibrarySymbolTableTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with LibrarySymbolTableTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with LibrarySymbolTableTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with LibrarySymbolTableTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with LibrarySymbolTableTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with LibrarySymbolTableTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with LibrarySymbolTableTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with LibrarySymbolTableTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with LibrarySymbolTableTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with LibrarySymbolTableTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with LibrarySymbolTableTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with LibrarySymbolTableTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with LibrarySymbolTableTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with LibrarySymbolTableTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with LibrarySymbolTableTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with LibrarySymbolTableTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with LibrarySymbolTableTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with LibrarySymbolTableTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with LibrarySymbolTableTransform
> Task :app:mainApkListPersistenceDebug
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Task :app:mergeDebugShaders
> Task :app:compileDebugShaders
> Task :app:generateDebugAssets
> Task :CordovaLib:mergeDebugShaders
> Task :CordovaLib:compileDebugShaders
> Task :CordovaLib:generateDebugAssets
> Task :CordovaLib:packageDebugAssets
> Task :app:mergeDebugAssets
> Task :app:writeDebugApplicationId
> Task :app:processDebugGoogleServices
Parsing json file: D:\Temp\test\platforms\android\app\google-services.json
> Task :app:createDebugCompatibleScreenManifests
> Task :app:processDebugManifest
D:\Temp\test\platforms\android\app\src\main\AndroidManifest.xml:24:9-31:50 Warning:
activity#com.google.firebase.auth.internal.FederatedSignInActivity<strong i="32">@android</strong>:launchMode was tagged at AndroidManifest.xml:24 to replace other declarations but no other declaration present
> Task :app:fabricGenerateResourcesDebug
> Task :app:generateDebugResValues
> Task :app:generateDebugResources
> Task :app:mergeDebugResources
> Task :app:processDebugResources
> Task :app:compileDebugJavaWithJavac
> Task :app:compileDebugNdk NO-SOURCE
> Task :app:compileDebugSources
> Task :app:validateSigningDebug
> Task :app:signingConfigWriterDebug
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Task :app:transformClassesWithDexBuilderForDebug
> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug
> Task :app:transformDexArchiveWithDexMergerForDebug
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform okio.jar (com.squareup.okio:okio:1.6.0) with IdentityTransform
> Transform core-common.jar (androidx.arch.core:core-common:2.0.0) with IdentityTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform auto-value-annotations.jar (com.google.auto.value:auto-value-annotations:1.6.3) with IdentityTransform
> Transform annotation.jar (androidx.annotation:annotation:1.0.0) with IdentityTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Transform lifecycle-common.jar (androidx.lifecycle:lifecycle-common:2.0.0) with IdentityTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform okhttp.jar (com.squareup.okhttp3:okhttp:3.0.0) with IdentityTransform
> Transform lifecycle-viewmodel.aar (androidx.lifecycle:lifecycle-viewmodel:2.0.0) with AarTransform
> Transform core-runtime.aar (androidx.arch.core:core-runtime:2.0.0) with AarTransform
> Transform lifecycle-runtime.aar (androidx.lifecycle:lifecycle-runtime:2.0.0) with AarTransform
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
> Transform documentfile.aar (androidx.documentfile:documentfile:1.0.0) with AarTransform
> Transform lifecycle-livedata-core.aar (androidx.lifecycle:lifecycle-livedata-core:2.0.0) with AarTransform
> Transform lifecycle-livedata.aar (androidx.lifecycle:lifecycle-livedata:2.0.0) with AarTransform
> Transform cursoradapter.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarTransform
> Transform print.aar (androidx.print:print:1.0.0) with AarTransform
> Transform fabric.aar (io.fabric.sdk.android:fabric:1.4.7) with AarTransform
> Transform answers.aar (com.crashlytics.sdk.android:answers:1.4.6) with AarTransform
> Transform crashlytics-core.aar (com.crashlytics.sdk.android:crashlytics-core:2.6.7) with AarTransform
> Transform collection.jar (androidx.collection:collection:1.0.0) with IdentityTransform
> Transform beta.aar (com.crashlytics.sdk.android:beta:1.2.10) with AarTransform
> Transform localbroadcastmanager.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
> Transform versionedparcelable.aar (androidx.versionedparcelable:versionedparcelable:1.0.0) with AarTransform
> Transform core.aar (androidx.core:core:1.0.0) with AarTransform
> Transform asynclayoutinflater.aar (androidx.asynclayoutinflater:asynclayoutinflater:1.0.0) with AarTransform
> Transform customview.aar (androidx.customview:customview:1.0.0) with AarTransform
> Transform slidingpanelayout.aar (androidx.slidingpanelayout:slidingpanelayout:1.0.0) with AarTransform
> Transform drawerlayout.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarTransform
> Transform swiperefreshlayout.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarTransform
> Transform viewpager.aar (androidx.viewpager:viewpager:1.0.0) with AarTransform
> Transform loader.aar (androidx.loader:loader:1.0.0) with AarTransform
> Transform coordinatorlayout.aar (androidx.coordinatorlayout:coordinatorlayout:1.0.0) with AarTransform
> Transform legacy-support-core-ui.aar (androidx.legacy:legacy-support-core-ui:1.0.0) with AarTransform
> Transform fragment.aar (androidx.fragment:fragment:1.0.0) with AarTransform
> Transform legacy-support-core-utils.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarTransform
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.0.0) with AarTransform
> Transform play-services-stats.aar (com.google.android.gms:play-services-stats:17.0.0) with AarTransform
> Transform firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:18.0.0) with AarTransform
> Transform play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:17.0.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:17.0.0) with AarTransform
> Transform play-services-measurement.aar (com.google.android.gms:play-services-measurement:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform firebase-common.aar (com.google.firebase:firebase-common:18.0.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.0.0) with AarTransform
> Transform firebase-abt.aar (com.google.firebase:firebase-abt:18.0.0) with AarTransform
> Transform firebase-iid-interop.aar (com.google.firebase:firebase-iid-interop:17.0.0) with AarTransform
> Transform firebase-iid.aar (com.google.firebase:firebase-iid:19.0.0) with AarTransform
> Transform play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:17.0.0) with AarTransform
> Transform firebase-analytics.aar (com.google.firebase:firebase-analytics:17.0.0) with AarTransform
> Transform play-services-tagmanager-api.aar (com.google.android.gms:play-services-tagmanager-api:17.0.0) with AarTransform
> Transform play-services-phenotype.aar (com.google.android.gms:play-services-phenotype:17.0.0) with AarTransform
> Transform play-services-analytics-impl.aar (com.google.android.gms:play-services-analytics-impl:17.0.0) with AarTransform
> Transform play-services-clearcut.aar (com.google.android.gms:play-services-clearcut:17.0.0) with AarTransform
> Transform firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:18.0.0) with AarTransform
> Transform play-services-flags.aar (com.google.android.gms:play-services-flags:17.0.0) with AarTransform
> Transform firebase-config.aar (com.google.firebase:firebase-config:18.0.0) with AarTransform
> Transform firebase-perf.aar (com.google.firebase:firebase-perf:18.0.0) with AarTransform
> Transform ShortcutBadger.aar (me.leolin:ShortcutBadger:1.1.4) with AarTransform
> Transform play-services-tagmanager.aar (com.google.android.gms:play-services-tagmanager:17.0.0) with AarTransform
> Transform crashlytics.aar (com.crashlytics.sdk.android:crashlytics:2.9.8) with AarTransform
> Transform firebase-messaging.aar (com.google.firebase:firebase-messaging:19.0.0) with AarTransform
> Transform firebase-core.aar (com.google.firebase:firebase-core:17.0.0) with AarTransform
> Transform firebase-auth.aar (com.google.firebase:firebase-auth:18.0.0) with AarTransform
> Task :app:mergeDebugJniLibFolders
> Task :CordovaLib:compileDebugNdk NO-SOURCE
> Task :CordovaLib:mergeDebugJniLibFolders
> Task :CordovaLib:transformNativeLibsWithMergeJniLibsForDebug
> Task :CordovaLib:transformNativeLibsWithStripDebugSymbolForDebug
> Task :CordovaLib:transformNativeLibsWithIntermediateJniLibsForDebug
> Task :app:transformNativeLibsWithMergeJniLibsForDebug
> Task :app:transformNativeLibsWithStripDebugSymbolForDebug
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:transformResourcesWithMergeJavaResForDebug
> Task :app:packageDebug
> Task :app:assembleDebug
> Task :app:cdvBuildDebug
BUILD SUCCESSFUL in 17s
47 actionable tasks: 47 executed
Built the following apk(s):
D:\Temp\test\platforms\android\app\build\outputs\apk\debug\app-debug.apk
@dpa99c ๋๋ <3 ๋. ๋งฅ์ฃผ๋ฅผ ์ด๋๋ก ๋ณด๋ผ๊น์?)))
@dpa99c ๋ ์ฌ๊ธฐ์์ ํ ์คํธํ ๊ฒ์ ๋๋ค. ์ ๊ฐ ์ด๋ฏธ ์ด๊ฒ์ ์ฌ์ฉํ๊ณ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
<plugin name="cordova-plugin-firebase" spec="https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue" />
๋น์ ์ ๋ ๋ฒ์งธ๋ก ๋ด ์๋ช ์ ๊ตฌํ๊ณ ์์ต๋๋ค ํํํํํ
@dpa99c ofc ์ง์ ๊ฐ๋ฉด ๊ธฐ๋ถํ ๊ฒ, ๋ ๋ด github ์ด์์ ์์ ์ด์ผ ์ํํํ
๋ค์์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ก์ปฌ ํดํน์ ํฌํจํ์ง ์๋ ์๋ฃจ์ ์ ๋๋ค.
* Use [my fork of this plugin](https://github.com/dpa99c/cordova-plugin-firebase) which is updated to resolve some recent issues. * Use [cordova-plugin-androidx](https://github.com/dpa99c/cordova-plugin-androidx) to enable AndroidX in the Android project. * Use [cordova-plugin-androidx-adapter](https://github.com/dpa99c/cordova-plugin-androidx) to dynamically patch the source code of this plugin to work with AndroidX.
์ฐธ๊ณ : ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์
cordova-android
ํ๋ซํผ(v8.0.0)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.์๋ฅผ ๋ค์ด:
# create test project cordova create test io.cordova.firebase.test && cd test # download the Firebase SDK config for test project (which is required to make the build succeed) curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json # add the latest cordova-android platform (v8.0.0) cordova platform add android<strong i="12">@latest</strong> # add my fork of this plugin cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase.git # add plugin to enable AndroidX in the project cordova plugin add cordova-plugin-androidx # add plugin to patch existing plugin source that uses the Android Support Library to use AndroidX cordova plugin add cordova-plugin-androidx-adapter # build! cordova build android
์ฝ์ ์ถ๋ ฅ
๋ฐ์ด๋ธ ๊ฐ์ฌํฉ๋๋ค.
์๋ฎฌ๋ ์ดํฐ์ ์ค์นํ๋ฉด "Google Play ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ์ง ์์ผ๋ฉด ์ฑ์ด ์คํ๋์ง ์์ต๋๋ค"๋ผ๋ ์๋ฆผ์ด ํ์๋ฉ๋๋ค. ์ ์์ธ๊ฐ์?
๋ฐ์ด๋ธ ๊ฐ์ฌํฉ๋๋ค.
์๋ฎฌ๋ ์ดํฐ์ ์ค์นํ๋ฉด "Google Play ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ์ง ์์ผ๋ฉด ์ฑ์ด ์คํ๋์ง ์์ต๋๋ค"๋ผ๋ ์๋ฆผ์ด ํ์๋ฉ๋๋ค. ์ ์์ธ๊ฐ์?
์๋ง๋ ์๋ก์ด Play ์๋น์ค/Firebase ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์๋ ์ค์น๋ ํต์ฌ Play ์๋น์ค ๊ตฌ์ฑ ์์์ ๋ํ ์ต์ ๋ฒ์ ์๊ตฌ ์ฌํญ์ด ์์ ๊ฒ์
๋๋ค.
"์ค์ " Android ๊ธฐ๊ธฐ์์๋ ์๋ ์
๋ฐ์ดํธ๋๋ฏ๋ก ๋๋ถ๋ถ ์ต์ ์ํ์ด์ง๋ง ์๋ฎฌ๋ ์ดํฐ์์๋ ์๋์ผ๋ก ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
"์ค์ " Android ๊ธฐ๊ธฐ์์๋ ์๋ ์ ๋ฐ์ดํธ๋๋ฏ๋ก ๋๋ถ๋ถ ์ต์ ์ํ์ด์ง๋ง ์๋ฎฌ๋ ์ดํฐ์์๋ ์๋์ผ๋ก ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ cordova-plugin-firebase ๋๋ ํ ๋ฆฌ ์ด์ ์๋ 93,9MB์์ผ๋ฉฐ ์ง๊ธ์ 1,30MB์
๋๋ค.
cordova-plugin-cocoapod-support ์ด์ ์๋ ์ค์น๋์ง ์์์ง๋ง ์ง๊ธ์ ์ค์น๋์ด ์์ต๋๋ค.
๊ด์ฐฎ๋์? ๊ทธ๋ฆฌ๊ณ ์ cordova-plugin-firebase ํ๋ฌ๊ทธ์ธ์ด ์ค์น๋๋ ๋์ cordova-plugin-cocoapod-support๊ฐ ์ค์น๋์์ต๋๊น?
๊ทธ๋ฆฌ๊ณ cordova-plugin-firebase ๋๋ ํ ๋ฆฌ ์ด์ ์๋ 93,9MB์์ผ๋ฉฐ ์ง๊ธ์ 1,30MB์ ๋๋ค.
cordova-plugin-cocoapod-support ์ด์ ์๋ ์ค์น๋์ง ์์์ง๋ง ์ง๊ธ์ ์ค์น๋์ด ์์ต๋๋ค.๊ด์ฐฎ๋์? ๊ทธ๋ฆฌ๊ณ ์ cordova-plugin-firebase ํ๋ฌ๊ทธ์ธ์ด ์ค์น๋๋ ๋์ cordova-plugin-cocoapod-support๊ฐ ์ค์น๋์์ต๋๊น?
๋ด ํฌํฌ์๋ Cocopods๋ฅผ ์ฌ์ฉํ์ฌ iOS๊ฐ ์๋ iOS์ ๋ํ Firebase SDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข
์์ฑ์ ์ถฉ์กฑํ๋ ์์ง ๋ณํฉ๋์ง ์์ PR https://github.com/arnesson/cordova-plugin-firebase/pull/972 ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. SDK์ ์ ์ ์ค๋
์ท์ ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฒ๋ค๋ก ๋ฌถ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด plugin.xml
์์ Cocoapods ๋ฒ์ ์ ๊ฐ๋จํ ๋ฒํํ์ฌ iOS์์ Firebase ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ ํจ์ฌ ์ฝ๊ฒ ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ข ์์ฑ์ ๋ค์ด๊ทธ๋ ์ด๋ํ ํ ๋ค์์ ์ป์ต๋๋ค.
/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:659: error: resource android:attr/fontVariationSettings not found.
@dpa99c ์๋ฃจ์ ์ ๋ํด ๋๋จํ ๊ฐ์ฌํฉ๋๋ค. ๋ง์นจ๋ด ๋ด ์ฑ์ด ๋ค์ ๊ตฌ์ถ๋๊ณ ์์ต๋๋ค.
๋ด ์ฑ์ด ์๋์ ๋ฉ์ถ ์ด์ ๋ฅผ ์ดํดํ๊ณ ์ถ์ต๋๋ค. ํ๋ฃจ์๋ ์๋ํ์ง๋ง ๋ค๋ฅธ ๋ ์๋ ์๋ํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋๋ ionic์ ์ฌ์ฉํฉ๋๋ค. ์๋ง๋ ionic์ด ํ๋ซํผ ํด๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ์ข ์์ฑ์ ์ ๋ฐ์ดํธํฉ๋๊น? ๋ํ ๋ณ๊ฒฝ๋ ์ฌํญ์ ๋ํ ์์ธํ ์ ๋ณด๋ ์ด๋์์ ์ป์ ์ ์์ผ๋ฉฐ ์ด ํ๋ฌ๊ทธ์ธ์ด ์๋์ ๋ฉ์ถ๊ฒ ํ๋ ๋ฐ ์ด๋ค ์ํฅ์ ๋ฏธ์ณค์ต๋๊น?
๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
@murilolobato Google์ 6์ 17์ผ ์์์ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค(https://developers.google.com/android/guides/releases). ์ด ํ๋ฌ๊ทธ์ธ์ ์์ผ๋ ์นด๋๋ก ์ข ์์ฑ์ ์ฐธ์กฐํ๋ฏ๋ก(์: something@17+ ๋ฐ [email protected] ์๋) ์ ๋น๋๋ฅผ ์ํํ ๋ ์ด๋ฌํ ์ข ์์ฑ์ ๋งจ ๋ง์ง๋ง ๋ฒ์ ์ ๊ฐ์ ธ์์ ํธํ๋์ง ์์ต๋๋ค. ์์
์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ๋ ๊ฒ์ ๋๋ค # 1084
@denisnarush
<engine name="android" spec="8.0.0" />
Cordova Android 8์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์คํํ ์ ์์
UnhandledPromiseRejectionWarning: ์ค๋ฅ [ERR_UNHANDLED_ERROR]: ์ฒ๋ฆฌ๋์ง ์์ ์ค๋ฅ์
๋๋ค. (ํ๋ซํผ "android"๋ ์ ํจํ cordova ํ๋ซํผ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. API.js๊ฐ ๋๋ฝ๋์์ต๋๋ค. android๋ ์ง์๋์ง ์์ต๋๋ค.)
๋ค์์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ก์ปฌ ํดํน์ ํฌํจํ์ง ์๋ ์๋ฃจ์ ์ ๋๋ค.
- ์ต๊ทผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ๋ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ด ํฌํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
- Android ํ๋ก์ ํธ์์ AndroidX๋ฅผ ํ์ฑํํ๋ ค๋ฉด cordova-plugin-androidx ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- cordova-plugin-androidx-adapter ๋ฅผ ์ฌ์ฉํ์ฌ AndroidX์ ์๋ํ๋๋ก ์ด ํ๋ฌ๊ทธ์ธ์ ์์ค ์ฝ๋๋ฅผ ๋์ ์ผ๋ก ํจ์นํฉ๋๋ค.
์ฐธ๊ณ : ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์
cordova-android
ํ๋ซํผ(v8.0.0)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.์๋ฅผ ๋ค์ด:
# create test project cordova create test io.cordova.firebase.test && cd test # download the Firebase SDK config for test project (which is required to make the build succeed) curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json # add the latest cordova-android platform (v8.0.0) cordova platform add android<strong i="17">@latest</strong> # add my fork of this plugin cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase.git # add plugin to enable AndroidX in the project cordova plugin add cordova-plugin-androidx # add plugin to patch existing plugin source that uses the Android Support Library to use AndroidX cordova plugin add cordova-plugin-androidx-adapter # build! cordova build android
์ฝ์ ์ถ๋ ฅ
์ด ์์ ์ ์ํํ ํ ๋ค๋ฅธ ์ ํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์์ : app:compileDebugJavaWithJavac
/Users/smartlogin/Desktop/SmartLogin-ionic/platforms/android/app/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder. java:26 : ์ค๋ฅ: junit.framework ํจํค์ง๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.
๊ฐ์ ธ์ค๊ธฐ junit.framework.Assert;
^^
/Users/smartlogin/Desktop/SmartLogin-ionic/platforms/android/app/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder. java:164 : ์ค๋ฅ: ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
Assert.assertNotNull("์ปจํ ์คํธ๋ null์ผ ์ ์์ต๋๋ค!", mContext);
^^
๊ธฐํธ: ๋ณ์ ์ฃผ์ฅ
์์น: ํด๋์ค LocationServiceIntentBuilder
์ฐธ๊ณ : ์ผ๋ถ ์ ๋ ฅ ํ์ผ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ API๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ ์ํฉ๋๋ค.
์ฐธ๊ณ : ์์ธํ ๋ด์ฉ์ - Xlint:deprecation ์ ์ฌ์ฉํ์ฌ ๋ค์ ์ปดํ์ผํ์ญ์์ค.
์ฐธ๊ณ : ์ผ๋ถ ์ ๋ ฅ ํ์ผ์ ํ์ธ๋์ง ์๊ฑฐ๋ ์์ ํ์ง ์์ ์์ ์ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ : ์์ธํ ๋ด์ฉ์ - Xlint:unchecked ๋ก ๋ค์ ์ปดํ์ผํ์ญ์์ค.
2๊ฐ์ ์ค๋ฅ
์์ : app:compileDebugJavaWithJavac FAILED
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
๋ฌด์์ด ์๋ชป๋์๋์ง:
์์
': app:compileDebugJavaWithJavac '์ ๋ํ ์คํ์ ์คํจํ์ต๋๋ค.
์ปดํ์ผ์ ์คํจํ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ปดํ์ผ๋ฌ ์ค๋ฅ ์ถ๋ ฅ์ ์ฐธ์กฐํ์ญ์์ค.
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. ๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --info ๋๋ --debug ์ต์
๊ณผ ํจ๊ป ์คํํ์ญ์์ค. ์ ์ฒด ํต์ฐฐ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --scan๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
1๋ถ 36์ด ๋ง์ ๊ตฌ์ถ ์คํจ
33๊ฐ์ ์คํ ๊ฐ๋ฅํ ์์
: 33๊ฐ์ ์คํ
/Users/smartlogin/Desktop/SmartLogin-ionic/platforms/android/gradlew: ์ข
๋ฃ ์ฝ๋ 1 ์ค๋ฅ ์ถ๋ ฅ์ผ๋ก ๋ช
๋ น ์คํจ:
์ฐธ๊ณ : /Users/smartlogin/Desktop/SmartLogin-ionic/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ API๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ ์ํฉ๋๋ค.
์ฐธ๊ณ : ์์ธํ ๋ด์ฉ์ - Xlint:deprecation ์ ์ฌ์ฉํ์ฌ ๋ค์ ์ปดํ์ผํ์ญ์์ค.
/Users/smartlogin/Desktop/SmartLogin-ionic/platforms/android/app/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder. java:26 : ์ค๋ฅ: junit.framework ํจํค์ง๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.
๊ฐ์ ธ์ค๊ธฐ junit.framework.Assert;
^^
/Users/smartlogin/Desktop/SmartLogin-ionic/platforms/android/app/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder. java:164 : ์ค๋ฅ: ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
Assert.assertNotNull("์ปจํ
์คํธ๋ null์ผ ์ ์์ต๋๋ค!", mContext);
^^
๊ธฐํธ: ๋ณ์ ์ฃผ์ฅ
์์น: ํด๋์ค LocationServiceIntentBuilder
์ฐธ๊ณ : ์ผ๋ถ ์
๋ ฅ ํ์ผ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ API๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ ์ํฉ๋๋ค.
์ฐธ๊ณ : ์์ธํ ๋ด์ฉ์ - Xlint:deprecation ์ ์ฌ์ฉํ์ฌ ๋ค์ ์ปดํ์ผํ์ญ์์ค.
์ฐธ๊ณ : ์ผ๋ถ ์
๋ ฅ ํ์ผ์ ํ์ธ๋์ง ์๊ฑฐ๋ ์์ ํ์ง ์์ ์์
์ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ : ์์ธํ ๋ด์ฉ์ - Xlint:unchecked ๋ก ๋ค์ ์ปดํ์ผํ์ญ์์ค.
2๊ฐ์ ์ค๋ฅ
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
๋ฌด์์ด ์๋ชป๋์๋์ง:
์์
': app:compileDebugJavaWithJavac '์ ๋ํ ์คํ์ ์คํจํ์ต๋๋ค.
์ปดํ์ผ์ ์คํจํ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ปดํ์ผ๋ฌ ์ค๋ฅ ์ถ๋ ฅ์ ์ฐธ์กฐํ์ญ์์ค.
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. ๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --info ๋๋ --debug ์ต์
๊ณผ ํจ๊ป ์คํํ์ญ์์ค. ์ ์ฒด ํต์ฐฐ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --scan๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
1๋ถ 36์ด ๋ง์ ๊ตฌ์ถ ์คํจ
์ด๋ค ์์ด๋์ด?
cordova-android 7.x.x
๋ฅผ ์ง์ํ๋ ค๋ฉด v3.3.0 ๋ฆด๋ฆฌ์ค๋ฅผ ์ฐธ์กฐํ์ธ์. https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment -503499409
์ด ๊ฐ๋จํ ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค: https://stackoverflow.com/questions/56645148/execution-failed-for-task-appprocessdebugresources-error/56666050#56666050
cordova-android ๋๋ ์๋ฌด๊ฒ๋ ์
๊ทธ๋ ์ด๋ํ์ง ์๊ณ
ionic cordova android๋ฅผ ์ฌ์ฉํ๊ณ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์์ : app:fabricGenerateResourcesDebug FAILED
์ค๋ฅ - Crashlytics ๊ฐ๋ฐ์ ๋๊ตฌ ์ค๋ฅ์ ๋๋ค.
java.lang.IllegalArgumentException: Crashlytics์์ ์๋ชป๋ API ํค๋ฅผ ์ฐพ์์ต๋๋ค. null.
Crashlytics ํ๋ฌ๊ทธ์ธ์ ํ์ธํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ถ๊ฐ๋์๋์ง ํ์ธํ์ญ์์ค!
๋์์ด ํ์ํ๋ฉด [email protected] ์ ๋ฌธ์ํ์ญ์์ค.
com.crashlytics.tools.android.DeveloperTools.processApiKey(DeveloperTools.java:375)
com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:517)
com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
com.crashlytics.tools.android.DeveloperTools.gradleMain(DeveloperTools.java:292)
sun.reflect.NativeMethodAccessorImpl.invoke0์์(๋ค์ดํฐ๋ธ ๋ฉ์๋)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)์์
sun.reflect.DelegatingMethodAccessorImpl.invoke์์(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)์์
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call์์(StaticMetaMethodSite.java:91)
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy:359)
com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.this$2$callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy)
sun.reflect.NativeMethodAccessorImpl.invoke0์์(๋ค์ดํฐ๋ธ ๋ฉ์๋)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)์์
sun.reflect.DelegatingMethodAccessorImpl.invoke์์(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)์์
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)
com.crashlytics.tools.gradle.tasks.FabricTaskBuilder$_pluginGenerateResources_closure4.doCall(FabricTaskBuilder.groovy:132)
sun.reflect.NativeMethodAccessorImpl.invoke0์์(๋ค์ดํฐ๋ธ ๋ฉ์๋)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)์์
sun.reflect.DelegatingMethodAccessorImpl.invoke์์(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)์์
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
groovy.lang.Closure.call์์(Closure.java:418)
groovy.lang.Closure.call(Closure.java:434)์์
org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:739)
org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:712)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)์์
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
java.lang.Thread.run(Thread.java:748)์์
์คํ ๊ฐ๋ฅํ ์์ 27๊ฐ: ์คํ๋ ์์ 27๊ฐ
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
๋ฌด์์ด ์๋ชป๋์๋์ง:
์์
': app:fabricGenerateResourcesDebug '์ ๋ํ ์คํ์ด ์คํจํ์ต๋๋ค.
Crashlytics ๊ฐ๋ฐ์ ๋๊ตฌ ์ค๋ฅ์ ๋๋ค.
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. ๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --info ๋๋ --debug ์ต์
๊ณผ ํจ๊ป ์คํํ์ญ์์ค. ์ ์ฒด ํต์ฐฐ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --scan๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
๋น๋ ์คํจ 0์ด
/home/pizone/ionic_project/Project_Orange/platforms/android/gradlew: ์ข
๋ฃ ์ฝ๋ 1 ์ค๋ฅ ์ถ๋ ฅ์ผ๋ก ๋ช
๋ น ์คํจ:
์ฐธ๊ณ : /home/pizone/ionic_project/Project_Orange/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java๋ ์ฌ์ฉ๋์ง ์๋ API๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ ์ํฉ๋๋ค.
์ฐธ๊ณ : ์์ธํ ๋ด์ฉ์ - Xlint:deprecation ์ ์ฌ์ฉํ์ฌ ๋ค์ ์ปดํ์ผํ์ญ์์ค.
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
๋ฌด์์ด ์๋ชป๋์๋์ง:
์์
': app:fabricGenerateResourcesDebug '์ ๋ํ ์คํ์ด ์คํจํ์ต๋๋ค.
Crashlytics ๊ฐ๋ฐ์ ๋๊ตฌ ์ค๋ฅ์ ๋๋ค.
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. ๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --info ๋๋ --debug ์ต์
๊ณผ ํจ๊ป ์คํํ์ญ์์ค. ์ ์ฒด ํต์ฐฐ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --scan๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
์ฐ๋ฆฌ๋ ์ฌ์ ํ ํ์ํฉ๋๊น
<plugin name="cordova-android-support-gradle-release" spec="~1.4.4">
<variable name="ANDROID_SUPPORT_VERSION" value="27.+" />
</plugin>
๊ทธ๋ ๋ค๋ฉด ๊ฐ์ ์ด๋ป๊ฒ ๋์ด์ผ ํฉ๋๊น?
@dpa99c cordova-plugin-androidx ๋๋ ์ด๋ํฐ๋ฅผ ์ค์นํ๋ ค๊ณ ํ๋ฉด ๋ค์์ ๋ฐํํฉ๋๋ค.
Plugin doesn't support this project's cordova version. cordova: 7.0.1, failed version requirement: >=8.0.0
Skipping 'cordova-plugin-androidx' for android/ios
๋ด Ionic ์ ๋ณด:
```
์ด์จ(Ionic CLI): 4.12.0(/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts: 3.2.0
์ฝ๋ฅด๋๋ฐ:
์ฝ๋ฅด๋๋ฐ(์ฝ๋ฅด๋๋ฐ CLI) : 8.1.2([email protected])
Cordova ํ๋ซํผ: ์๋๋ก์ด๋ 8.0.0, iOS 4.5.5
Cordova ํ๋ฌ๊ทธ์ธ: cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 1.2.1, (๋ฐ 19๊ฐ์ ๊ธฐํ ํ๋ฌ๊ทธ์ธ)
์ฒด๊ณ:
Android SDK ๋๊ตฌ: 26.1.1(/Users/myuser/Library/Android/sdk)
iOS ๋ฐฐํฌ: 1.9.2
ios-sim : 6.1.2
NodeJS : v9.9.0(/usr/local/bin/node)
npm : 5.7.1
OS : macOS ๋ชจํ๋น
Xcode: Xcode 10.2 ๋น๋ ๋ฒ์ 10E125
```
@Hanzofm cordova-plugin-androidx
์๋ ์ต์ [email protected]
๋ฐ [email protected]
๊ฐ ํ์ํฉ๋๋ค.
์ค๋ฅ ๋ฉ์์ง์ ๋ฐ๋ฅด๋ฉด ๊ฐ์ง๋ cordova
๋ฒ์ ์ 7.0.1.
์
๋๋ค.
์ด ์ ์ฝ ์กฐ๊ฑด์ Cordova ์์ฒด์ ์ํด ์ ์ฉ๋๋ฏ๋ก ํ๊ฒฝ ์ค์ ์ ํ์ธํ์ญ์์ค.
์ ์๊ฐ์๋ ์ค์น๊ฐ ์ ์ธ๊ณ์ ์ผ๋ก ์ค์น๋ cordova cli ๋ฒ์ (์ ๊ฒฝ์ฐ 7.0.1)์ ์ฐพ๊ณ ์์ง๋ง ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ ํ๋ก์ ํธ์์ ์ค์น๋ ๋ฒ์ ์ cordova-cli 8.1.2์ ๋๋ค.
@Hanzofm ์ด ๋ฌธ์ ๊ฐ ๋ ๊ฒ์
๋๋ค. cordova
CLI๋ ๋ก์ปฌ์ด ์๋ ์ ์ญ์ผ๋ก ์ค์นํ๊ธฐ ์ํ ๊ฒ์
๋๋ค.
cordova
์ ์ฌ๋ฌ ๋ฒ์ ๊ฐ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ nvm ์ ์ฌ์ฉํ์ฌ ์ ์ธ๊ณ์ ์ผ๋ก ์ค์น๋ ๋ค๋ฅธ ๋ฒ์ ์ cordova
CLI๊ฐ ์๋ ๋
ธ๋ ๋ฒ์ ๊ฐ์ ์ ํํ๋ ๊ฒ์
๋๋ค.
์ด์จ๋ ํ๋ฌ๊ทธ์ธ์ ๋ฉ์์ง์๋ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋ฉ๋๋ค.
์ด์ ๋ฌธ์ ๋ ๋ณด๊ณ ๋ ๋ฌธ์ ์ ๋๋ค.
์ด ์ค๋ ๋์ ๋จ๊ณ๋ฅผ ์ํํ ํ ๋ง์นจ๋ด ์์คํ
๊ตฌ์ถ์ด ์๋ฃ๋์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๋์ผ๋ก ํด์ผ ํ๋ ์ ์ผํ ์ผ์ AndroidManifest.xml์ FileProvider ํด๋์ค ์ด๋ฆ์ ์๋ก์ด androidx ํจํค์ง ์ด๋ฆ( androidx.core.content.FileProvider
)์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด์์ต๋๋ค. ์ด ๋ณ๊ฒฝ ์ฌํญ์ด ์์ผ๋ฉด ์๋ฎฌ๋ ์ดํฐ์์ ์์ํ ๋ ์ฑ์ด ์ถฉ๋ํฉ๋๋ค.
<provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
</provider>
@tarun57 ๊ณผ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
> Task :app:fabricGenerateResourcesDebug FAILED
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null.
Check the Crashlytics plugin to make sure that the application has been added successfully!
Contact [email protected] for assistance.
๋๊ตฌ๋ ์ง ์ด๊ฒ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น?
์คํ ์ค: ionic cordova build android
@grantmaura ๋ ์ด ํ๋ฌ๊ทธ์ธ์ ํฌํฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
cordova plugin rm cordova-plugin-firebase && cordova plugin add cordova-plugin-firebasex
์์ธํ ๋ด์ฉ ์ ์ฌ๊ธฐ ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Ack, ์ด์ Firebase ํ๋ฌ๊ทธ์ธ์ ์ ๋ฆฌํ์ง ์์ ๊ณ์ ์คํจํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค @dpa99c
@dpa99c ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค. ๋จ ํ๋์ android.support.v4.content.FileProvider๋ฅผ androidx.core.content.FileProvider๋ก ์๋์ผ๋ก ๊ต์ฒดํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฌด์์ธ์ง ์ด๋ค ์์ด๋์ด๊ฐ ์์ต๋๊น?
@heidji ๋ plugins/
๋๋ ํ ๋ฆฌ๋ฅผ ๊ฒ์ํ์ฌ ์ด๋ค ํ๋ฌ๊ทธ์ธ์์ ์๋์ง ์ฐพ์ต๋๋ค.
AndroidManifest.xml
์์ ์๋์ผ๋ก ๊ต์ฒดํ ๊ฒ ๊ฐ์ต๋๊น?
AndroidManifest.xml
๋ฐ project.properties
( ๋ฟ๋ง ์๋๋ผ build.gradle
)์ ํจํค์ง ์ด๋ฆ์ ๋ฐ๊พธ๊ธฐ ์ํด cordova-plugin-androidx-adapter
๋ฅผ ํ์ฅํ๋ ค๊ณ ํฉ๋๋ค.
์ค ์, ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์์ ๊ฐ์ ธ์จ ๊ฒ์ ์์ ํ ์์์ต๋๋ค. Android๋ ์ ์๊ฒ ๊ธฐ์ต ์์ค์ ์ฃผ์์ต๋๋ค./
@dpa99c ์๋ง ๊ทธ๋ ๊ฒ ํ๋ ํ๋ฌ๊ทธ์ธ์ com-darryncampbell-cordova-plugin-intent์
๋๋ค.
์๋ก์ด ํ๋ซํผ์ด ์ถ๊ฐ๋ ํ Android ๋งค๋ํ์คํธ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณด์
๋๋ค.
<provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="android.support.v4.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
</provider>
@heidji ๋ฐฉ๊ธ project.properties
๋ฐ AndroidManifest.xml
์ ์ฐธ์กฐ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์
ํ๋ npm์ [email protected]
๋ฅผ ๊ฒ์ํ์ต๋๋ค. ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ฏ๋ก ์๋ํด ๋ณด์ญ์์ค.
@dpa99c ์, ํจ๊ณผ๊ฐ ์์์ต๋๋ค! ๊ฐ์ฌ ํด์!
๋น์ทํ ๋ฌธ์ ๋ก ์ฌ๊ธฐ์ ์ฐฉ๋ฅํ๋ ์ฌ๋์ ์ํด:
์ฐ๋ฆฌ ๋ชจ๋๋ ์ด ํ๋ฌ๊ทธ์ธ์ ์๋ณธ ๋ฒ์ ์ ์ ๊ณตํ @robertarnesson ๊ณผ @soumak77๊ณผ ๊ฐ์ ํ์ฌ ์ ์ง ๊ด๋ฆฌ์์๊ฒ ๋ง์ ๋น์ ์ง๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์์ฒด์ ์ธ ์ด์ ๋ก cordova-plugin-firebase
์ ๋ํด ์ ๊ธฐ๋ ๋ฌธ์ ์ PR์ ์ ์ ํ๊ฒ ํด๊ฒฐ๋์ง ์์ ๋์ ๊ฐ์ ๊ฐ๋ฐ์๋ ๋น๋๊ฐ ์คํจํ๊ณ ์ด ํ๋ฌ๊ทธ์ธ์ ์์ฒด ํฌํฌ๋ฅผ ๋ง๋ค๊ณ ํจ์นํ๋ ๊ฒ ์ธ์๋ ๊ฑฐ์ ๋์์ด ์์ต๋๋ค.
๊ทธ๋์ ๋ด ํ๋ก๋์
๋น๋์ ํฌํจํ ์์ ์ ์ธ ํ๋ฌ๊ทธ์ธ์ ๊ฐ์ง ๋ชฉ์ ์ผ๋ก ์ด ํ๋ฌ๊ทธ์ธ์ ์์ฒด ํฌํฌ๋ฅผ ๋ง๋ค์์ผ๋ฉฐ ์ด๊ฒ์ cordova-plugin-firebasex
๋ก npm์ ๊ฒ์ํ์ต๋๋ค.
์ฌ๊ธฐ์๋ ๋ค์์ ํฌํจํ์ฌ ์ด ํ๋ฌ๊ทธ์ธ(v2.0.5)์ ํ์ฌ npm ๋ฆด๋ฆฌ์ค์ ๋ํ ๋ช ๊ฐ์ง ๊ฐ์ ์ฌํญ์ด ํฌํจ๋ฉ๋๋ค.
@robertarnesson @soumak77 ์ฌ๋ฌ๋ถ์ด ๋ด ํฌํฌ๋ฅผ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ค์ ๋ณํฉํ๊ณ ์ถ๋ค๋ฉด ์ ๋ฅผ ์ ์ง ๊ด๋ฆฌ์๋ก ๋ง๋ค์ด์ฃผ์ธ์. ๊ทธ๋ ๊ฒ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
์ ๋ ์ด ํ๋ฌ๊ทธ์ธ์ ์๋ง์ ํ๋ก๋์
์ฑ์์ ์ฌ์ฉํ๋ฏ๋ก ํฌํฌ๊ฐ ์๋ ์ฌ๊ธฐ์์ ์ ์ง ๊ด๋ฆฌํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค.
๋ฐฉ๊ธ [email protected]
๋ฅผ ๊ฒ์ํ๋๋ฐ AndroidX๋ก ๋ง์ด๊ทธ๋ ์ด์
๋์์ผ๋ฏ๋ก ๋น๋๋ฅผ ์ํด ๋ ์ด์ cordova-plugin-androidx-adapter ๊ฐ ํ์ํ์ง ์์ต๋๋ค(ํ๋ก์ ํธ์ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์์ ์ด๋ฅผ ์๊ตฌํ ์ ์์).
iOS์ ๊ธฐ๋ณธ Firebase SDK ๋ฒ์ ์ v5.20.2 ๋ก ๋ฒํํฉ๋๋ค.
๋ํ Android ๋ฐ iOS ์ข
์์ฑ์ ๊ธฐ๋ณธ ๋ฒ์ ์ ์ฌ์ ์ํ ์ ์์ผ๋ฏ๋ก ํ๋ก์ ํธ์ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ๊ณผ ์ ๋ ฌํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด:
cordova plugin add cordova-plugin-firebasex \
--variable ANDROID_PLAY_SERVICES_TAGMANAGER_VERSION=17.0.0 \
--variable ANDROID_FIREBASE_CORE_VERSION=17.0.0 \
--variable ANDROID_FIREBASE_MESSAGING_VERSION=19.0.0 \
--variable ANDROID_FIREBASE_CONFIG_VERSION=18.0.0 \
--variable ANDROID_FIREBASE_PERF_VERSION=18.0.0 \
--variable ANDROID_FIREBASE_AUTH_VERSION=18.0.0 \
--variable ANDROID_CRASHLYTICS_VERSION=2.9.8 \
--variable ANDROID_SHORTCUTBADGER_VERSION=1.1.22 \
--variable IOS_FIREBASE_CORE_VERSION=5.20.2 \
--variable IOS_FIREBASE_AUTH_VERSION=5.20.2 \
--variable IOS_FIREBASE_MESSAGING_VERSION=5.20.2 \
--variable IOS_FIREBASE_PERFORMANCE_VERSION=5.20.2 \
--variable IOS_FIREBASE_REMOTECONFIG_VERSION=5.20.2 \
--variable IOS_FABRIC_VERSION=1.9.0 \
--variable IOS_CRASHLYTICS_VERSION=3.12.0
์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ด ์ค์ ๋ฉ๋๋ค.
๋ค์์ Android ๋ฐ iOS ๋ชจ๋์์ ๋น๋๋๋์ง ํ์ธํ๋ ๋งค์ฐ ๊ฐ๋จํ ํ ์คํธ ์ฌ๋ก์ ๋๋ค.
cordova create test io.cordova.firebase.test && cd test
cordova plugin add cordova-plugin-firebasex
curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/GoogleService-Info.plist -o GoogleService-Info.plist
cordova platform add ios<strong i="16">@latest</strong>
cordova build ios
curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json
cordova platform add android<strong i="17">@latest</strong>
cordova build android
`๊ฒฝ๊ณ : '์ปดํ์ผ' ๊ตฌ์ฑ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ '๊ตฌํ'์ผ๋ก ๋์ฒด๋์์ต๋๋ค.
ntation' ๋ฐ 'api'.
2018๋
๋ง์ ์ ๊ฑฐ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ http://d.androi ๋ฅผ ์ฐธ์กฐํ์ธ์.
d.com/r/tools/update-dependency-configurations.html
afterEvaluate {}์ ์ค๋ฅ๋ฅผ ํฌํจํ์ฌ ํ๋ก์ ํธ ํ๊ฐ์ ์คํจํ์ต๋๋ค. --sta๋ก ์คํ
afterEvaluate {} ์ค๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ cktrace๋ฅผ ์ฐธ์กฐํ์ธ์.
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
์ด๋์:
๋น๋ ํ์ผ 'C:wamp64wwwProyectoshabitsAIhabitsAPPplatformsandroidappbui
ld.gradle' ์ค: 98
๋ฌด์์ด ์๋ชป๋์๋์ง:
ํ๋ก์ ํธ ':app'์ ํ๊ฐํ๋ ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
'classpath' ๊ตฌ์ฑ์ ๋ํ ๋ชจ๋ ์ํฐํฉํธ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
builder.jar์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค(com.android.tools.build:builder:3.4.1).
๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ' https://dl.google.com/dl/android/maven2/com/andr
oid/tools/build/builder/3.4.1/builder-3.4.1.jar'.
์ฝ๊ธฐ ์๊ฐ ์ด๊ณผ
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. --info ๋๋ --debug๋ก ์คํ
๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ๊ฐ์ ธ์ค๋ ์ต์
์
๋๋ค. ์ ์ฒด ํต์ฐฐ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --scan๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
2๋ถ 23์ด ๋ง์ ๊ตฌ์ถ ์คํจ
c:wamp64wwwProyectoshabitsAIhabitsAPPplatformsandroidgradlew: ๋ช
๋ น fa
์ข
๋ฃ ์ฝ๋ 1๋ก ํ์๋จ ์ค๋ฅ ์ถ๋ ฅ:
afterEvaluate {}์ ์ค๋ฅ๋ฅผ ํฌํจํ์ฌ ํ๋ก์ ํธ ํ๊ฐ์ ์คํจํ์ต๋๋ค. --sta๋ก ์คํ
afterEvaluate {} ์ค๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ cktrace๋ฅผ ์ฐธ์กฐํ์ธ์.
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
์ด๋์:
๋น๋ ํ์ผ 'C:wamp64wwwProyectoshabitsAIhabitsAPPplatformsandroidappbui
ld.gradle' ์ค: 98
๋ฌด์์ด ์๋ชป๋์๋์ง:
ํ๋ก์ ํธ ':app'์ ํ๊ฐํ๋ ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
'classpath' ๊ตฌ์ฑ์ ๋ํ ๋ชจ๋ ์ํฐํฉํธ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
builder.jar์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค(com.android.tools.build:builder:3.4.1).
๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ' https://dl.google.com/dl/android/maven2/com/andr
oid/tools/build/builder/3.4.1/builder-3.4.1.jar'.
์ฝ๊ธฐ ์๊ฐ ์ด๊ณผ
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. --info ๋๋ --debug๋ก ์คํ
๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ๊ฐ์ ธ์ค๋ ์ต์
์
๋๋ค. ์ ์ฒด ํต์ฐฐ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --scan๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
2๋ถ 23์ด ์์ ๊ตฌ์ถ ์คํจ`
๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ์ด๋ค ์์ด๋์ด๊ฐ ์์ต๋๊น?
@dpa99c
๋ฉ์ง ๋ฌผ๊ฑด! ํ์์ ์ด๋ค!
@dpa99c ๋งค๋ ฅ๊ฐ์ด ์ผํ๋ ๋ฉ์ง์น๊ตฌ!!
@dpa99c ์ฑ ๋น๋์ ์ฑ๊ณตํ์ง๋ง ํ ํฐ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฐํํ๋ null
@ dpa99c ์ด์จ ๋๋ ์ฝ๋ฅด๋๋ฐ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๊ทธ๊ฒ์ ๋์๊ฒ ๊ฐ์ ์ค๋ฅ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ๋ ionic 3 ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์์ต๋๋ค.
`2์ด ๋ง์ ๋น๋ ์คํจ
์คํ ๊ฐ๋ฅํ ์์
14๊ฐ: ์คํ๋ ์์
1๊ฐ, ์ต์ ์์
13๊ฐ
cmd: ์ข
๋ฃ ์ฝ๋ 1๊ณผ ํจ๊ป ๋ช
๋ น์ด ์คํจํ์ต๋๋ค. ์ค๋ฅ ์ถ๋ ฅ:
FAILURE: ์์ธ์ ํจ๊ป ๋น๋์ ์คํจํ์ต๋๋ค.
๋ฌด์์ด ์๋ชป๋์๋์ง:
๋ผ์ด๋ธ๋ฌ๋ฆฌ com.google. firebase:firebase-iid ๋ [[17.1.1,17.1.1]]์ ๋ค์ํ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์์ฒญํ์ง๋ง 19.0.0์ผ๋ก ํ์ธ๋ฉ๋๋ค. ํ๋ฌ๊ทธ์ธ์ ๋นํ์ฑํํ๊ณ ./gradlew : app:dependencies๋ฅผ ์ฌ์ฉํ์ฌ ์ข
์์ฑ ํธ๋ฆฌ๋ฅผ ํ์ธํฉ๋๋ค.
๋
ธ๋ ฅํ๋ค:
--stacktrace ์ต์
๊ณผ ํจ๊ป ์คํํ์ฌ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ต๋๋ค. ๋ ๋ง์ ๋ก๊ทธ ์ถ๋ ฅ์ ์ป์ผ๋ ค๋ฉด --info ๋๋ --debug ์ต์
๊ณผ ํจ๊ป ์คํํ์ญ์์ค.
https://help.gradle.org ์์ ๋ ๋ง์ ๋์ ๋ฐ๊ธฐ
2์ด ๋ง์ ๊ตฌ์ถ ์คํจ
[์ค๋ฅ] ํ์ ํ๋ก์ธ์ค ์ฝ๋ฅด๋๋ฐ๋ฅผ ์คํํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
cordova.cmd build android exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.`
@dpa99c ์ฑ ๋น๋์ ์ฑ๊ณตํ์ง๋ง ํ ํฐ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฐํํ๋ null
์ต์ ๋ฒ์ ์ ๋ด ํฌํฌ( [email protected]
)๋ฅผ ์ฌ์ฉํด ๋ณด์ญ์์ค. Android ๋ฐ iOS ๋ชจ๋์์ ์ฑ๊ณต์ ์ผ๋ก ์ฅ์น ํ ํฐ์ ๊ฒ์ํ ํ
์คํธ ํ๋ก์ ํธ ๋ฅผ ์๋ํ ์๋ ์์ต๋๋ค.
@ dpa99c ์ด์จ ๋๋ ์ฝ๋ฅด๋๋ฐ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๊ทธ๊ฒ์ ๋์๊ฒ ๊ฐ์ ์ค๋ฅ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ๋ ionic 3 ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์์ต๋๋ค.
Ionic์ ๋จ์ํ Cordova CLI๋ฅผ ๋ํํ๋ฏ๋ก Ionic์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Cordova๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
- ๋ฌด์์ด ์๋ชป๋์๋์ง:
๋ผ์ด๋ธ๋ฌ๋ฆฌ com.google. firebase:firebase-iid ๋ [[17.1.1,17.1.1]]์ ๋ค์ํ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์์ฒญํ์ง๋ง 19.0.0์ผ๋ก ํ์ธ๋ฉ๋๋ค. ํ๋ฌ๊ทธ์ธ์ ๋นํ์ฑํํ๊ณ ./gradlew : app:dependencies๋ฅผ ์ฌ์ฉํ์ฌ ์ข ์์ฑ ํธ๋ฆฌ๋ฅผ ํ์ธํฉ๋๋ค.
์ด๊ฒ์ ํ๋ก์ ํธ์ Gradle ์ข
์์ฑ์ ๋ฌธ์ ๊ฐ ์์์ ๋ํ๋
๋๋ค. platforms/android/app/build.gradle
์ ์ข
์์ฑ ๋ชฉ๋ก๊ณผ ํ๋ก์ ํธ์ ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก( ionic cordova plugin ls
)์ ๊ฒ์ํ์ญ์์ค.
๋ํ ์์
์ฐธ์กฐ๋ก ์์ ๊ฐ์ด ๋ด ํ
์คํธ ํ๋ก์ ํธ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
@dpa99c ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
build.gradle
dependencies {
implementation fileTree(dir: 'libs', include: '*.jar')
// SUB-PROJECT DEPENDENCIES START
implementation(project(path: ":CordovaLib"))
compile "com.android.support:support-annotations:27.+"
compile "com.squareup.okhttp3:okhttp-urlconnection:3.10.0"
compile "com.android.support:support-v4:24.1.1+"
compile "com.soundcloud.android:android-crop:1.0.0@aar"
compile "com.google.android.gms:play-services-tagmanager:+"
compile "com.google.firebase:firebase-core:16.0.8"
compile "com.google.firebase:firebase-messaging:17.5.0"
compile "com.google.firebase:firebase-config:16.4.1"
compile "com.google.firebase:firebase-perf:16.2.4"
// SUB-PROJECT DEPENDENCIES END
}
`$ ์ด์จ โโ์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ ls
cordova.cmd ํ๋ฌ๊ทธ์ธ ls
์ฝ๋ฅด๋๋ฐ ํด๋ฆฝ๋ณด๋ 1.2.1 "ํด๋ฆฝ๋ณด๋"
cordova-plugin-advanced-http 2.0.4 "๊ณ ๊ธ HTTP ํ๋ฌ๊ทธ์ธ"
cordova-plugin-android-permissions 1.0.0 "๊ถํ"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-badge 0.8.8 "๋ฐฐ์ง"
cordova-plugin-calendar 5.1.4 "์บ๋ฆฐ๋"
cordova-plugin-camera 4.0.3 "์นด๋ฉ๋ผ"
cordova-plugin-contacts 3.0.1 "์ฐ๋ฝ์ฒ"
cordova-plugin-crop 0.3.1 "CropPlugin"
cordova-plugin-device 2.0.2 "์ฅ์น"
cordova-plugin-email-composer 0.8.15 "์ด๋ฉ์ผ ์์ฑ๊ธฐ"
cordova-plugin-file 6.0.1 "ํ์ผ"
cordova-plugin-file-transfer 1.7.1 "ํ์ผ ์ ์ก"
cordova-plugin-firebase 2.0.5 "Google Firebase ํ๋ฌ๊ทธ์ธ"
cordova-plugin-inappbrowser 3.0.0 "์ธ์ฑ ๋ธ๋ผ์ฐ์ "
์ฝ๋ฅด๋๋ฐ-ํ๋ฌ๊ทธ์ธ-์ด์จ-ํค๋ณด๋ 2.1.3 "์ฝ๋ฅด๋๋ฐ-ํ๋ฌ๊ทธ์ธ-์ด์จ-ํค๋ณด๋"
cordova-plugin-ionic-webview 2.4.0 "cordova-plugin-ionic-webview"
cordova-plugin-market 1.2.0 "์์ฅ"
cordova-plugin-network-information 2.0.1 "๋คํธ์ํฌ ์ ๋ณด"
cordova-plugin-splashscreen 5.0.2 "์คํ๋์ ํ๋ฉด"
์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ ์ํ ํ์์ค 2.4.2 "์ํ ํ์์ค"
cordova-plugin-whitelist 1.3.3 "ํ์ดํธ๋ฆฌ์คํธ"
cordova-plugin-x-socialsharing 5.4.4 "์์ ๊ณต์ "
cordova-plugin-x-toast 2.7.2 "ํ ์คํธ"
cordova-sqlite-storage 2.6.0 "Cordova sqlite ์คํ ๋ฆฌ์ง ํ๋ฌ๊ทธ์ธ"
es6-promise-plugin 4.2.2 "์ฝ์"
phonegap-plugin-mobile-accessibility 1.0.5-dev "๋ชจ๋ฐ์ผ ์ ๊ทผ์ฑ"`
cordova-plugin-firebase 2.0.5 "Google Firebase ํ๋ฌ๊ทธ์ธ"
๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ(2.0.5)์ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค(์์ ๋ชจ๋ ์ฃผ์ ์ฐธ์กฐ). ํด๊ฒฐ์ฑ ์ ๋ด ํฌํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
rm -Rf platforms/android
cordova plugin rm cordova-plugin-firebase
cordova plugin add cordova-plugin-firebasex
cordova platform add android
cordova build android
@dpa99c ํ ๊ฐ์ฌํฉ๋๋ค! Firebase ๋ฌธ์ ๋ ์ฌ๋ผ์ก์ง๋ง ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ํ๋ฉ๋๋ค :( .
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 5s
C:\Users\Archintel\Desktop\4x24App\platforms\android\gradlew: Command failed with exit code 1 Error output:
Note: C:\Users\Archintel\Desktop\4x24App\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\com\ionicframework\cordova\webview\IonicWebViewEngine.java:11: error: package android.support.annotation does not exist
import android.support.annotation.RequiresApi;
^
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\de\appplant\cordova\emailcomposer\Provider.java:22: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\de\appplant\cordova\emailcomposer\Provider.java:24: error: cannot find symbol
public class Provider extends FileProvider {
^
symbol: class FileProvider
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\nl\xservices\plugins\FileProvider.java:4: error: package android.support.v4.content does not exist
public class FileProvider extends android.support.v4.content.FileProvider {
^
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:64: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\org\apache\cordova\camera\CordovaUri.java:25: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\org\apache\cordova\camera\FileProvider.java:21: error: package android.support.v4.content does not exist
public class FileProvider extends android.support.v4.content.FileProvider {}
^
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\com\ionicframework\cordova\webview\IonicWebViewEngine.java:114: error: cannot find symbol
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
^
symbol: class RequiresApi
location: class IonicWebViewEngine.ServerClient
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\de\appplant\cordova\emailcomposer\AssetUtil.java:274: error: cannot find symbol
return Provider.getUriForFile(ctx, authority, file);
^
symbol: method getUriForFile(Context,String,File)
location: class Provider
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\nl\xservices\plugins\SocialSharing.java:169: error: cannot find symbol
fileUri = FileProvider.getUriForFile(webView.getContext(), cordova.getActivity().getPackageName()+".sharing.provider", new File(fileUri.getPath()));
^
symbol: method getUriForFile(Context,String,File)
location: class FileProvider
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\nl\xservices\plugins\SocialSharing.java:285: error: cannot find symbol
fileUri = FileProvider.getUriForFile(webView.getContext(), cordova.getActivity().getPackageName()+".sharing.provider", new File(fileUri.getPath()));
^
symbol: method getUriForFile(Context,String,File)
location: class FileProvider
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:297: error: cannot find symbol this.imageUri = new CordovaUri(FileProvider.getUriForFile(cordova.getActivity(),
^
symbol: method getUriForFile(Activity,String,File)
location: class FileProvider
C:\Users\Archintel\Desktop\4x24App\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:803: error: cannot find symbol Uri tmpFile = FileProvider.getUriForFile(cordova.getActivity(),
^
symbol: method getUriForFile(Activity,String,File)
location: class FileProvider
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
13 errors
ํ๋ก์ ํธ์ ๊ธฐ์กด Android ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๋ ํ๋ฌ๊ทธ์ธ์ด ์์ผ๋ฏ๋ก cordova-plugin-firebasex
์ฌ์ฉํ๋ AndroidX(ํ์์)์ ํธํ๋์ง ์์ต๋๋ค.
์๋ฃจ์ ์ ํ๋ก์ ํธ์ cordova-plugin-androidx-adapter ๋ฅผ ์ถ๊ฐํ์ฌ ํด๋น ํ๋ก์ ํธ์ ์์ค ์ฝ๋๋ฅผ ๋์ ์ผ๋ก ํจ์นํ์ฌ AndroidX ๋ฑ๊ฐ๋ฌผ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
@dpa99c ์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ๋น์ ์ ๋์ ํ๋ฃจ๋ฅผ ์ ์ฅํฉ๋๋ค :D
@dpa99c ์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ๋น์ ์ ๋์ ํ๋ฃจ๋ฅผ ์ ์ฅํฉ๋๋ค :D
@dpa99c ๋๋ ๋น์ ์ ์ง์๋ฅผ ๋ฐ๋๊ณ Android ๋น๋๋ ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๋ฌ๋ cordova build ios
๋ฅผ ์คํํ๋ IOS์ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Build system information
error: /Users/project/platforms/ios/cordova/build-debug.xcconfig:34: could not find included file 'Pods/Target Support Files/Pods-Engage/Pods-Engage.debug.xcconfig' in search paths (in target
'์ฐธ์ฌ')
* ์์นด์ด๋ธ ์คํจ * `
@bunday Cocoapods ๋ฅผ ์ค์นํ๊ณ ์ค์ ํ์ต๋๊น( ์ฌ๊ธฐ์ ์ค๋ช ๋ ๋๋ก )?
@dpa99c ๋ค ์๊ฒ ์ต๋๋ค
@bunday ์ด ์ค๋ฅ๊ฐ ๊ทํ์ ํ๋ก์ ํธ์์ ๋ฐ์ํฉ๋๊น ์๋๋ฉด ์ฌ๊ธฐ ์ ์ค๋ช ๋ ํ ์คํธ ์ผ์ด์ค์์ ๋ฐ์ํฉ๋๊น?
@ dpa99c ์ด๊ฒ์ ๋ด ํ๋ก์ ํธ์์ ์ผ์ด๋๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ IOS ํ๋ซํผ์ ์ถ๊ฐํ ๋ ๋๋ ์ด๊ฒ์ ์ป์๋ค.
`[!] CocoaPods์์ "Firebase/Core" ํฌ๋์ ํธํ๋๋ ๋ฒ์ ์ ์ฐพ์ ์ ์์ต๋๋ค.
Podfile์์:
Firebase/์ฝ์ด(= 5.20.2)
์ฌ์ ์์ค ์ค Firebase/Core (= 5.20.2)
์ข
์์ฑ์ ์ถฉ์กฑํ๋ ์ฌ์์ด ์์ต๋๋ค.
๋ค์ ์ค ํ๋๊ฐ ์์ต๋๋ค.
pod repo update
๋๋ pod install --repo-update
๋ก ์
๋ฐ์ดํธํ ์ ์๋ ์ค๋๋ ์์ค ์ ์ฅ์์
๋๋ค.์ฐธ๊ณ : CocoaPods 1.0๋ถํฐ pod repo update
๋ ๊ธฐ๋ณธ์ ์ผ๋ก pod install
์์ ๋ฐ์ํ์ง ์์ต๋๋ค.`
๋ก์ปฌ ํฌ๋ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ค๋๋ ๊ฒ ๊ฐ์ต๋๋ค pod repo update
๋ฅผ ์คํํ์
จ์ต๋๊น?
์ค ๊ฐ์ฌํฉ๋๋ค, ๋๋ ๊ทธ๊ฒ์ ๋์ณค์ต๋๋ค. ๊ฐ์ฌ ํด์. ์ด์ ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค ๐
์ ๋ง ๊ฐ์ฌํฉ๋๋ค !
๋๋ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ๋ค
์ด์จ ์ฝ๋ฅด๋๋ฐ ํ๋ซํผ rm ์๋๋ก์ด๋
์ด์จ ์ฝ๋ฅด๋๋ฐ ํ๋ซํผ ์ถ๊ฐ [email protected]
ionic cordova ํ๋ฌ๊ทธ์ธ์ cordova-plugin-androidx๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ionic cordova ํ๋ฌ๊ทธ์ธ์ cordova-plugin-androidx-adapter๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ง์ ์ค์๊ฐ ์ฌ์ ํ ๋ฐ์ํฉ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ๊ฐ์ ์ค์๋ฅผ ๊ฒช์์ต๋๋ค. ์ ๋ฅผ ๋์์ฃผ์ค ์ ์์ต๋๊น?
Ionic:
Ionic CLI : 5.1.0 (C:\Users\claudinei\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.2.2
Cordova:
Cordova CLI : 8.1.2 ([email protected])
Cordova Platforms : android 8.0.0, browser 5.0.4
Cordova Plugins : cordova-plugin-ionic-webview 1.2.1, (and 22 other plugins)
Utility:
cordova-res : not installed
native-run : not installed
System:
Android SDK Tools : 26.1.1 (C:\Users\claudinei\AppData\Local\Android\Sdk)
NodeJS : v10.16.0 (C:\Program Files\nodejs\node.exe)
npm : 6.9.0
OS : Windows 10
Task :app:fabricGenerateResourcesArm64Debug FAILED
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null.
Check the Crashlytics plugin to make sure that the application has been added successfully!
Contact [email protected] for assistance.
at com.crashlytics.tools.android.DeveloperTools.processApiKey(DeveloperTools.java:375)
at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:517)
at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
at com.crashlytics.tools.android.DeveloperTools.gradleMain(DeveloperTools.java:292)
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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy:359)
at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.this$2$callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy) 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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)
at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder$_pluginGenerateResources_closure4.doCall(FabricTaskBuilder.groovy:132) 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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at groovy.lang.Closure.call(Closure.java:418)
at groovy.lang.Closure.call(Closure.java:434)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:739)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:712)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101) at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
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.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
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)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.3/userguide/command_line_interface.html#sec:command_line_warnings
28 actionable tasks: 2 executed, 26 up-to-date
C:\Users\claudinei\projetos\risa-app\risa-app-novo>if "1" == "0" goto mainEnd
C:\Users\claudinei\projetos\risa-app\risa-app-novo>rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
C:\Users\claudinei\projetos\risa-app\risa-app-novo>rem the _cmd.exe /c_ return code!
C:\Users\claudinei\projetos\risa-app\risa-app-novo>if not "" == "" exit 1
C:\Users\claudinei\projetos\risa-app\risa-app-novo>exit /b 1
Command finished with error code 1: C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew cdvBuildDebug,-b,C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\build.gradle
C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:fabricGenerateResourcesArm64Debug'.
> Crashlytics Developer Tools error.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get
full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 7s
Error: C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:fabricGenerateResourcesArm64Debug'.
> Crashlytics Developer Tools error.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get
full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 7s
at ChildProcess.whenDone (C:\Users\claudinei\projetos\risa-app\risa-app-novo\node_modules\cordova-common\src\superspawn.js:135:23) at ChildProcess.emit (events.js:198:13)
at ChildProcess.cp.emit (C:\Users\claudinei\projetos\risa-app\risa-app-novo\node_modules\cordova-common\node_modules\cross-spawn\lib\enoent.js:34:29)
at maybeClose (internal/child_process.js:982:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
[ERROR] An error occurred while running subprocess cordova.
cordova.cmd build android --verbose exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
ionic:utils-process onBeforeExit handler: 'process.exit' received +0ms
ionic:utils-process onBeforeExit handler: running 2 functions +1ms
ionic:utils-process error while killing process tree for 9400: { Error: Command failed: taskkill /pid 9400 /T /F
ionic:utils-process ERRO: o processo "9400" n๏ฟฝo foi encontrado.
ionic:utils-process
ionic:utils-process at ChildProcess.exithandler (child_process.js:294:12)
ionic:utils-process at ChildProcess.emit (events.js:198:13)
ionic:utils-process at maybeClose (internal/child_process.js:982:16)
ionic:utils-process at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
ionic:utils-process killed: false,
ionic:utils-process code: 128,
ionic:utils-process signal: null,
ionic:utils-process cmd: 'taskkill /pid 9400 /T /F' } +588ms
ionic:utils-process onBeforeExit handler: error from function: { Error: Command failed: taskkill /pid 9400 /T /F
ionic:utils-process ERRO: o processo "9400" n๏ฟฝo foi encontrado.
ionic:utils-process
ionic:utils-process at ChildProcess.exithandler (child_process.js:294:12)
ionic:utils-process at ChildProcess.emit (events.js:198:13)
ionic:utils-process at maybeClose (internal/child_process.js:982:16)
ionic:utils-process at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
ionic:utils-process killed: false,
ionic:utils-process code: 128,
ionic:utils-process signal: null,
ionic:utils-process cmd: 'taskkill /pid 9400 /T /F' } +3ms
ionic:utils-process error while killing process tree for 8908: { Error: Command failed: taskkill /pid 8908 /T /F
ionic:utils-process ERRO: o processo "8908" n๏ฟฝo foi encontrado.
ionic:utils-process
ionic:utils-process at ChildProcess.exithandler (child_process.js:294:12)
ionic:utils-process at ChildProcess.emit (events.js:198:13)
ionic:utils-process at maybeClose (internal/child_process.js:982:16)
ionic:utils-process at Socket.stream.socket.on (internal/child_process.js:389:11)
ionic:utils-process at Socket.emit (events.js:198:13)
ionic:utils-process at Pipe._handle.close (net.js:606:12)
ionic:utils-process killed: false,
ionic:utils-process code: 128,
ionic:utils-process signal: null,
ionic:utils-process cmd: 'taskkill /pid 8908 /T /F' } +3ms
ionic:utils-process onBeforeExit handler: error from function: { Error: Command failed: taskkill /pid 8908 /T /F
ionic:utils-process ERRO: o processo "8908" n๏ฟฝo foi encontrado.
ionic:utils-process
ionic:utils-process at ChildProcess.exithandler (child_process.js:294:12)
ionic:utils-process at ChildProcess.emit (events.js:198:13)
ionic:utils-process at maybeClose (internal/child_process.js:982:16)
ionic:utils-process at Socket.stream.socket.on (internal/child_process.js:389:11)
ionic:utils-process at Socket.emit (events.js:198:13)
ionic:utils-process at Pipe._handle.close (net.js:606:12)
ionic:utils-process killed: false,
ionic:utils-process code: 128,
ionic:utils-process signal: null,
ionic:utils-process cmd: 'taskkill /pid 8908 /T /F' } +2ms
ionic:utils-process processExit: exiting (exit code: 1) +4ms
PS C:\Users\claudinei\projetos\risa-app\risa-app-novo>
ํด๋ผ์ฐ๋๋ค์ด์ฌ์ฐํ ์ค
์ด ์๋:
์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ rm cordova-plugin-firebase
cordova ํ๋ฌ๊ทธ์ธ cordova-plugin-firebasex ์ถ๊ฐ
@ClaudineiOlSantos
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฌ์ค์ ํ๊ณ ๋ค์ ์์๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
rm -Rf platforms/android
ionic cordova plugin rm cordova-plugin-firebase
rm -Rf plugins/ node_modules/
npm install
ionic cordova plugin add cordova-plugin-firebasex
ionic cordova plugin add cordova-plugin-androidx-adapter
ionic cordova platform add [email protected]
ionic cordova build android
์ฌ์ ํ ํ๋ฌ๊ทธ์ธ๊ณผ node_module ํด๋๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
์๋ ํ์ธ์ @dpa99c ,
์ฐ๋ฆฌ๋ CI/CD๋ฅผ ํตํด ์ฑ์ ๋น๋ํ ๋ ์ด๊ฒ์ ์ป๋ ๊ฒ ๊ฐ์ง๋ง ๋น๋๋ฅผ ์๋์ผ๋ก ์คํํ ๋๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ์์ธ์ด ๋ฌด์์ธ์ง ์๊ณ ์์ต๋๊น?
์ด๊ฒ์ ์ ์๋ ๋๋ก ์์ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ํ์ ๋๋ค.
Installing "cordova-plugin-firebasex" for android
Failed to install 'cordova-plugin-firebasex': Error: Expected plugin to have ID "cordova-plugin-cocoapod-supportx" but got "cordova-plugin-firebasex".
at checkID (/Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:203:15)
at /Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:187:9
at _fulfilled (/Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/q/q.js:854:54)
at self.promiseDispatch.done (/Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/q/q.js:883:30)
at Promise.promise.promiseDispatch (/Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/q/q.js:816:13)
at /Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/q/q.js:624:44
at runSingle (/Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/q/q.js:137:13)
at flush (/Users/greenhouse/.cvm/8.1.2/node_modules/cordova/node_modules/q/q.js:125:13)
at _combinedTickCallback (internal/process/next_tick.js:132:7)
at process._tickCallback (internal/process/next_tick.js:181:9)
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๋ ์์ผ๋ ์นด๋ ์ข ์์ฑ๊ณผ ์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ Google์ด ์ด์ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ๋ค๋ ์ฌ์ค์ ๋๋ค.
๊ฒ๋ค๊ฐ
firebase-iid
๋ณด๋ค๋ ์์กด์ฑ์ ํด๊ฒฐํ๋๋ฐ๋D8: Program type already present: android.support.v4.app.INotificationSideChannel
์๋ฌ๊ฐ ๋๋ ๋ฐ ์ค๋ ์๊ฐ์ ๋ฒํ ผ๋ค.๋ด ์ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- #1057(๋๊ธ) ์์ @punksta (thx a lot)๊ฐ ํ์ํ๋ ํํฌ ๋ฐ ์คํฌ๋ฆฝํธ ๊ตฌํ
- ๋ค์ ์ข ์์ฑ์ ์ ๊ณตํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ข ์์ฑ์ ๊ฐ๊ฐ ๋ค์ ์์ฑํฉ๋๋ค.
"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"
$
firebase-iid
17.1.1
$๋ฅผ ์ ๊ณตํ๋ฉด ์ข ์์ฑ ์์ผ๋ ์นด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
$firebase-auth
16.2.0
๋ฅผ ์ ๊ณตํ๋ฉด ํด๋์ค ๊ฒฝ๋ก ๋ฌธ์ ์ ์๋ ์ด์ค ํด๋์ค๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.์ด ์๋ฃจ์ ์ด Cordova CLI v8์์ ์ ์๋ํ๋ ๋์ ์ ๋ฐ์ดํธ ํ์ญ์์ค. CLI >= v9๋ฅผ ์ฌ์ฉ ์ค์ด๊ฑฐ๋ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ํฅ์ด ์๋ ๊ฒฝ์ฐ ์๋ @dpa99c ์์ ์ ๊ณตํ๋ ํด๋ฆฌ๋ ์๋ฃจ์ #1081(์ฝ๋ฉํธ) ์ ์ดํด๋ณด์ญ์์ค.
3์ผ ๋์ ์ด ์ค๋ฅ๋ก ๊ณ ์ํ์ต๋๋ค. ๋ง์นจ๋ด ์ด๊ฒ์ ํจ๊ณผ๊ฐ ์์๋ค!
์ด์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
. . .
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:mergeDebugResources
> Task :app:processDebugResources
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\com\ionicframework\cordova\webview\IonicWebViewEngine.java:11: error: package android.support.annotation does not exist
import android.support.annotation.RequiresApi;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\nl\xservices\plugins\FileProvider.java:4: error: package android.support.v4.content does not exist
public class FileProvider extends android.support.v4.content.FileProvider {
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:64: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\org\apache\cordova\camera\CordovaUri.java:25: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\org\apache\cordova\camera\FileProvider.java:21: error: package android.support.v4.content does not exist
public class FileProvider extends android.support.v4.content.FileProvider {}
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:19: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:20: error: package android.support.v4.content does not exist
import android.support.v4.content.PermissionChecker;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:12: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:13: error: package android.support.v4.content does not exist
import android.support.v4.content.PermissionChecker;
^
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\com\ionicframework\cordova\webview\IonicWebViewEngine.java:121: error: cannot find symbol
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
^
symbol: class RequiresApi
location: class IonicWebViewEngine.ServerClient
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:2758: error: cannot find symbol
public void onMyLocationClick(<strong i="10">@NonNull</strong> Location location) {
^
symbol: class NonNull
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\nl\xservices\plugins\SocialSharing.java:169: error: cannot find symbol
fileUri = FileProvider.getUriForFile(webView.getContext(), cordova.getActivity().getPackageName()+".sharing.provider", new File(fileUri.getPath()));
^
symbol: method getUriForFile(Context,String,File)
location: class FileProvider
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\nl\xservices\plugins\SocialSharing.java:285: error: cannot find symbol
fileUri = FileProvider.getUriForFile(webView.getContext(), cordova.getActivity().getPackageName()+".sharing.provider", new File(fileUri.getPath()));
^
symbol: method getUriForFile(Context,String,File)
location: class FileProvider
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:297: error: cannot find symbol
this.imageUri = new CordovaUri(FileProvider.getUriForFile(cordova.getActivity(),
^
symbol: method getUriForFile(Activity,String,File)
location: class FileProvider
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:803: error: cannot find symbol
Uri tmpFile = FileProvider.getUriForFile(cordova.getActivity(),
^
symbol: method getUriForFile(Activity,String,File)
location: class FileProvider
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:192: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:192: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:208: error: cannot find symbol
locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:208: error: cannot find symbol
locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:339: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:339: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:1812: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:1812: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:1828: error: cannot find symbol
locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginMap.java:1828: error: cannot find symbol
locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginMap
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:93: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity().getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginLocationService
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:93: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity().getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginLocationService
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:176: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity().getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginLocationService
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:176: error: cannot find symbol
boolean locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity().getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginLocationService
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:191: error: cannot find symbol
locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity().getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginLocationService
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:191: error: cannot find symbol
locationPermission = PermissionChecker.checkSelfPermission(cordova.getActivity().getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PermissionChecker.PERMISSION_GRANTED;
^
symbol: variable PermissionChecker
location: class PluginLocationService
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:260: error: cannot find symbol
public void onConnectionFailed(<strong i="11">@NonNull</strong> ConnectionResult result) {
^
symbol: class NonNull
C:\Users\Nelson\Documents\GitHub\linkingcard\platforms\android\app\src\main\java\plugin\google\maps\PluginLocationService.java:503: error: cannot find symbol
public void onFailure(<strong i="12">@NonNull</strong> Exception e) {
^
symbol: class NonNull
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
33 errors
PS C:\Users\Nelson\Documents\GitHub\linkingcard> ionic cordova plugin
> cordova.cmd plugin ls
branch-cordova-sdk 3.2.0 "branch-cordova-sdk"
cordova-clipboard 1.3.0 "Clipboard"
cordova-plugin-androidx 1.0.2 "cordova-plugin-androidx"
cordova-plugin-androidx-adapter 1.1.0 "cordova-plugin-androidx-adapter"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-cocoapod-supportx 1.7.2 "Cordova CocoaPods Dependency Support"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-facebook4 4.2.1 "Facebook Connect"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-firebasex 3.0.7 "Google Firebase Plugin"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-googlemaps 2.6.2 "cordova-plugin-googlemaps"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-ionic 5.3.1 "cordova-plugin-ionic"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.1 "cordova-plugin-ionic-webview"
cordova-plugin-queries-schemes 0.1.1 "App Queries Strings"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.4.7 "SocialSharing"
es6-promise-plugin 4.2.2 "Promise"
Ionic:
Ionic CLI : 5.2.1 (C:\Users\Nelson\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : @ionic/angular 4.6.0
@angular-devkit/build-angular : 0.13.9
@angular-devkit/schematics : 7.3.9
@angular/cli : 7.3.9
@ionic/angular-toolkit : 1.5.1
Cordova:
Cordova CLI : 9.0.0 ([email protected])
Cordova Platforms : android 8.0.0, browser 6.0.0
Cordova Plugins : cordova-plugin-ionic 5.3.1, cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 18 other plugins)
Utility:
cordova-res : 0.5.1
native-run : 0.2.6
System:
Android SDK Tools : 26.1.1 (C:\Users\Nelson\AppData\Local\Android\sdk)
NodeJS : v10.16.0 (C:\Program Files\nodejs\node.exe)
npm : 6.9.0
OS : Windows 10
@nelson6e65 ์ค๋ฅ๋ Android ํ๋ก์ ํธ์ ์์ค ์ฝ๋์ Android ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ฝ๋ ์ฐธ์กฐ๊ฐ ์ฌ์ ํ ์์์ ๋ํ๋ ๋๋ค.
ํ๋ก์ ํธ์ cordova-plugin-androidx-adapter
๊ฐ ์ค์น๋์ด ์๋ ๊ฒ ๊ฐ์์ ์ด๋ค ์ด์ ๋ก AndroidX์ ์์ค ์ฝ๋๋ฅผ ํจ์นํ์ง ๋ชปํ์ต๋๋ค.
๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ after_prepare
ํํฌ ์คํฌ๋ฆฝํธ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด cordova-plugin-androidx-adapter
์คํฌ๋ฆฝํธ๊ฐ ์คํ๋์ง ์์ ์ ์์ต๋๋ค.
cordova prepare android --verbose
๋ฅผ ์คํํ๊ณ ์ค๋ฅ์ ๋ํ ๋ก๊ทธ ์ถ๋ ฅ์ ๊ฒ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ํ ์ถ๋ ฅ์์ โโ"cordova-plugin-androidx-adapter"๋ฅผ ๊ฒ์ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๋ฅผ ๊ธฐ๋กํด์ผ ํฉ๋๋ค.
cordova-plugin-androidx-adapter: Processed 27 Java source files in 37ms
@dpa99c ๊ฐ์ฌํฉ๋๋ค. ๋๋ ์์๋ค.
์ด์ ์ปดํ์ผ๋์ง๋ง ์ฑ์ด ์์ ํ๋ฉด์์ ๋ฉ์ถฅ๋๋ค. ๐
์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ณ ์คํ๋์ ํ๋ฉด์ ๋ฉ์ถ ์ ์ฒด๊ฐ ์์ต๋๊น?
์ด์จ:
์ด์จ CLI : 5.0.3
Ionic ํ๋ ์์ํฌ: @ionic/angular 4.5.0
@angular-devkit/build-angular: 0.13.8
@angular-devkit/schematics: 7.2.4
@angular/cli : 7.2.2
@ionic/angular-toolkit : 1.3.0
์ฝ๋ฅด๋๋ฐ:
์ฝ๋ฅด๋๋ฐ CLI : 9.0.0 ([email protected])
Cordova ํ๋ซํผ: ์๋๋ก์ด๋ 8.0.0, iOS 5.0.1
Cordova ํ๋ฌ๊ทธ์ธ: cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.0, (๋ฐ 16๊ฐ์ ๊ธฐํ ํ๋ฌ๊ทธ์ธ)
๊ณต์ต ์ฌ์ :
์ฝ๋ฅด๋๋ฐ ํด์๋ : 0.4.0
๊ธฐ๋ณธ ์คํ: 0.2.6
์ฒด๊ณ:
iOS ๋ฐฐํฌ: 1.9.4
ios-sim : 8.0.1
NodeJS: v10.15.3(/usr/local/bin/node)
npm : 6.9.0
OS : macOS ๋ชจํ๋น
Xcode: Xcode 10.2.1 ๋น๋ ๋ฒ์ 10E1001
๊ทธ๊ฒ์ ์๋๋ก์ด๋์์๋ง ๋ฐ์ํฉ๋๋ค
ํ๋ฌ๊ทธ์ธ ์์ ์ด ํ์ํ์ง ์์ ๊ฐ์ฅ ๊ฐ๋จํ ์๋ฃจ์
์ ์ฃผ์ํ์ญ์์ค.
https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503512283
์ฐ๋ฆฌ๋ฅผ ์ํด ์์ฐ์์ ์๋
ํ๋ฌ๊ทธ์ธ ์์ ์ด ํ์ํ์ง ์์ ๊ฐ์ฅ ๊ฐ๋จํ ์๋ฃจ์ ์ ์ฃผ์ํ์ญ์์ค.
#1081(๋๊ธ)
์ฐ๋ฆฌ๋ฅผ ์ํด ์์ฐ์์ ์๋
์ด๋์์ ์ฐพ์ ์ ์๋์
configurations.all { }
@ansarikhurshid786 ์ ๋น๋ gradle ํ์ผ์ ๋ฃ๊ณ Android ํ๋ซํผ ํด๋์์ ์ฐพ์ต๋๋ค. build-extras.gradle ํ์ผ์ Android ํ๋ซํผ์ ๋ณต์ฌํ๋ ์ฝ๋ฅด๋๋ฐ ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋จผ์ ์ปดํ์ผ์ด ์๋ํ๋์ง ํ์ธํ๋ ค๋ฉด Android ํ๋ซํผ ํด๋ ๋ด์ gradle ํ์ผ์ ์๋์ผ๋ก ์ถ๊ฐํ์ญ์์ค.
์ด๋ค gradle ํ์ผ์์ :
android/gradle
anadroid/app/gradle
@ClaudineiOlSantos
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฌ์ค์ ํ๊ณ ๋ค์ ์์๋ฅผ ๋ฐ๋ฅด์ญ์์ค.rm -Rf platforms/android ionic cordova plugin rm cordova-plugin-firebase rm -Rf plugins/ node_modules/ npm install ionic cordova plugin add cordova-plugin-firebasex ionic cordova plugin add cordova-plugin-androidx-adapter ionic cordova platform add [email protected] ionic cordova build android
์ฌ์ ํ ํ๋ฌ๊ทธ์ธ๊ณผ node_module ํด๋๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
์ฌ๋ณด์ธ์. ๋ต๋ณ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ค๋ช ๋ ๋จ๊ณ๋ฅผ ์ํํ์ง๋ง ์ด์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
BUILD FAILED in 11s
C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> org.gradle.api.internal.tasks.DefaultTaskContainer$DuplicateTaskException: Cannot add task 'processArmv7DebugGoogleServices' as a task with that name already exists.
@ClaudineiOlSantos
Tente redefinir seu repo e siga esta ordem:rm -Rf platforms/android ionic cordova plugin rm cordova-plugin-firebase rm -Rf plugins/ node_modules/ npm install ionic cordova plugin add cordova-plugin-firebasex ionic cordova plugin add cordova-plugin-androidx-adapter ionic cordova platform add [email protected] ionic cordova build android
Vocรช inda precisa ์ ๊ฑฐ์ ํ๋ฌ๊ทธ์ธ ๋ฐ ํ์คํ node_module.
์ฌ๋ณด์ธ์. ๋ต๋ณ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ค๋ช ๋ ๋จ๊ณ๋ฅผ ์ํํ์ง๋ง ์ด์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
BUILD FAILED in 11s C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output: FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > org.gradle.api.internal.tasks.DefaultTaskContainer$DuplicateTaskException: Cannot add task 'processArmv7DebugGoogleServices' as a task with that name already exists.
cordova-plugin-androidx-adapter ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํ๋๋ฐ ์ด์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
BUILD FAILED in 57s
C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output:
Note: C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\app\src\main\java\com\adobe\phonegap\push\PushInstanceIDListenerService.java:9: error: cannot find symbol
import com.google.firebase.iid.FirebaseInstanceIdService;
^
symbol: class FirebaseInstanceIdService
location: package com.google.firebase.iid
C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\app\src\main\java\com\adobe\phonegap\push\PushInstanceIDListenerService.java:15: error: cannot find symbol
public class PushInstanceIDListenerService extends FirebaseInstanceIdService implements PushConstants {
^
symbol: class FirebaseInstanceIdService
C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\app\src\main\java\com\adobe\phonegap\push\PushInstanceIDListenerService.java:18: error: method does not override or implement a method from a supertype
<strong i="17">@Override</strong>
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors
@ClaudineiOlSantos
Tente redefinir seu repo e siga esta ordem:rm -Rf platforms/android ionic cordova plugin rm cordova-plugin-firebase rm -Rf plugins/ node_modules/ npm install ionic cordova plugin add cordova-plugin-firebasex ionic cordova plugin add cordova-plugin-androidx-adapter ionic cordova platform add [email protected] ionic cordova build android
Vocรช inda precisa ์ ๊ฑฐ์ ํ๋ฌ๊ทธ์ธ ๋ฐ ํ์คํ node_module.
์ฌ๋ณด์ธ์. ๋ต๋ณ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ค๋ช ๋ ๋จ๊ณ๋ฅผ ์ํํ์ง๋ง ์ด์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.BUILD FAILED in 11s C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output: FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > org.gradle.api.internal.tasks.DefaultTaskContainer$DuplicateTaskException: Cannot add task 'processArmv7DebugGoogleServices' as a task with that name already exists.
cordova-plugin-androidx-adapter ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํ๋๋ฐ ์ด์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
BUILD FAILED in 57s C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\gradlew: Command failed with exit code 1 Error output: Note: C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\app\src\main\java\com\adobe\phonegap\push\PushInstanceIDListenerService.java:9: error: cannot find symbol import com.google.firebase.iid.FirebaseInstanceIdService; ^ symbol: class FirebaseInstanceIdService location: package com.google.firebase.iid C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\app\src\main\java\com\adobe\phonegap\push\PushInstanceIDListenerService.java:15: error: cannot find symbol public class PushInstanceIDListenerService extends FirebaseInstanceIdService implements PushConstants { ^ symbol: class FirebaseInstanceIdService C:\Users\claudinei\projetos\risa-app\risa-app-novo\platforms\android\app\src\main\java\com\adobe\phonegap\push\PushInstanceIDListenerService.java:18: error: method does not override or implement a method from a supertype <strong i="18">@Override</strong> ^ Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 3 errors
cordova-plugin-androidx-adapter: EXCEPTION: Error: Unable to load node module dependency 'q': Cannot find module './node_modules/q'
Cannot read property 'resolve' of undefined
[ERROR] An error occurred while running subprocess cordova.
cordova.cmd build android exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
@ dpa99c - ๋ค์ ํ ๋ฒ ๋ด ๋ฒ ์ด์ปจ์ ์ ์ฅํ์ต๋๋ค. ์ง๋ 2์ผ ๋์ ๋์ผํ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ณ ์์๊ณ ์ด๋ค ์ด์ ๋ก ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ ๋ Google์์ ์ด ๋ฌธ์ ๋ฅผ ์ธ๋ฑ์ฑํ์ง ์์ ๊ฒ์์ ๋ํ๋์ง ์์์ต๋๋ค. . ์ด ์ ์ฅ์์ ์ง์ ์์ ๋๋ง ์ด ์ค๋ ๋๋ฅผ ์ฐพ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค ๊ฐ์ฌํฉ๋๋ค ๊ฐ์ฌํฉ๋๋ค....์ ๋ฒ์ ๋งฅ์ฃผ 100๊ฐ ์ ๋ ๋ณด๋ด์ฃผ์ จ๊ณ ๊ณง 100๊ฐ ๋ ๋ณด๋ด๋๋ฆด ์์ ์ ๋๋ค!
์ด์จ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ด ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
https://github.com/arnesson/cordova-plugin-firebase/issues/1081
cordova-plugin-firebasex ๋ฐ cordova-plugin-androidx-adapter๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฑฐ์ ์๋ํฉ๋๋ค!
๊ทธ๋ฌ๋ ๊ทธ ํ์ Android์ Firebase ๋ถ์ ๋ฐ ํธ์ ์๋ฆผ์ด ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค.
์ด๋ ํ ์ ์?
@DanTTea - ์๋ cordova-plugin-firebase ๋๋ cordova-plugin-firebase-lib๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๊น? ๋์ค์ firebase
๋ firebase-lib
์์ ์ฌ์ฉ๋ ํด๋์ค/๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ๊ณผ ์ผ์นํ๋๋ก ์ผ๋ถ Firebase ํจ์๋ฅผ ๋ค์ ์์ฑํด์ผ ํ ์๋ ์์ต๋๋ค. ๋ด orig ๊ฒ์๋ฌผ์์ firebase-lib
๊ฐ ์์ง ์์ ๋์๋์ง ํ์คํ์ง ์๋ค๊ณ ์ธ๊ธํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ณ ์์๊ณ firebase
ํ๋ ๋ง ๋ค์ ์ฎ๊ฒผ์ต๋๋ค.
@DanTTea - firebase-lib
๊ฐ ์๋ firebase
ํ๋ฌ๊ทธ์ธ์ ๋ถ๊ธฐ์ ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ ํ๋ฌ๊ทธ์ธ์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ํด๋์ค ํธ์ถ์ ์ค๋ช
์์ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ์ ์๊ฐ ๊ฑฐ์ ๋์ผํ ํ๋ฌ๊ทธ์ธ์ ๋ ๋ถ๊ธฐ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๋ ์ด์ ๋ ํ์คํ์ง ์์ต๋๋ค.
@ionic-native/firebase ๋ํผ์ ํจ๊ป cordova-plugin-firebase๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
ํ์ง๋ง ์ง๊ธ์ ์ด๋ป๊ฒ๋ ๊ธฐ๋ณธ ํ๋ฌ๊ทธ์ธ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์์
ํ ์ ์๋ค
import { firebasex } from 'cordova-plugin-firebasex';
๋ํผ ์์ด ๊ธฐ๋ณธ ํจ์์ ์ก์ธ์คํ ์ ์์ต๋๊น?
๋น์ ์ ๋์์ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
@DanTTea - ํญ์ ํ ์ ์์ด์ผ ํฉ๋๋ค. Ionic v1์ ๊ณ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค... Ionic ๋ํผ ์์ด ๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๊ณ ๊ธฐ๋ณธ ํ๋ฌ๊ทธ์ธ ํธ์ถ์ ์ฌ์ฉํฉ๋๋ค.
2019๋ 6์ 21์ผ ์ ๋ฐ์ดํธ
์๋์์ ์ ๋ฐ์ดํธ๋ ์๋ฃจ์ ์ ์ฐธ์กฐํ์ธ์.
์๋ ๋๊ธ
๋ค์์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ก์ปฌ ํดํน์ ํฌํจํ์ง ์๋ ์๋ฃจ์ ์ ๋๋ค.
- ์ต๊ทผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ๋ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ด ํฌํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
- Android ํ๋ก์ ํธ์์ AndroidX๋ฅผ ํ์ฑํํ๋ ค๋ฉด cordova-plugin-androidx ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- cordova-plugin-androidx-adapter ๋ฅผ ์ฌ์ฉํ์ฌ AndroidX์ ์๋ํ๋๋ก ์ด ํ๋ฌ๊ทธ์ธ์ ์์ค ์ฝ๋๋ฅผ ๋์ ์ผ๋ก ํจ์นํฉ๋๋ค.
์ฐธ๊ณ : ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์
cordova-android
ํ๋ซํผ(v8.0.0)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.์๋ฅผ ๋ค์ด:
# create test project cordova create test io.cordova.firebase.test && cd test # download the Firebase SDK config for test project (which is required to make the build succeed) curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json # add the latest cordova-android platform (v8.0.0) cordova platform add android<strong i="23">@latest</strong> # add my fork of this plugin cordova plugin add cordova-plugin-firebasex # add plugin to enable AndroidX in the project cordova plugin add cordova-plugin-androidx # add plugin to patch existing plugin source that uses the Android Support Library to use AndroidX cordova plugin add cordova-plugin-androidx-adapter # build! cordova build android
์ฝ์ ์ถ๋ ฅ
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ด ๋จ๊ณ์ ๋ฐ๋ผ Android์ iOS๋ฅผ ๋ชจ๋ ๋น๋ํ ์ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ Android์์ ์คํํ๋ฉด Firebase Plugin์ด ์ค์น๋์ด ์์ง ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๊ฒ ๋ง์ด ๋๋์? ๋๊ตฌ๋ ์ง ์ ์ ์ด๊ฒ์ ์ง๋ฉด ํ์ต๋๊น?
๊ฐ์ฌํฉ๋๋ค.
์๋ ์ค
์ ๋น๋๋ฅผ ์๋ํ ํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ง๋ง ๋ง์นจ๋ด ์ฌ๊ธฐ์ ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค.
1) ์คํ:
์ด์จ ์ฝ๋ฅด๋๋ฐ ํ๋ซํผ rm ์๋๋ก์ด๋
2) ์คํ:
์ด์จ ์ฝ๋ฅด๋๋ฐ ํ๋ซํผ ์ถ๊ฐ [email protected]
3) ์คํ:
ionic cordova ํ๋ฌ๊ทธ์ธ์ cordova-plugin-androidx๋ฅผ ์ถ๊ฐํฉ๋๋ค.
4) ์คํ:
ionic cordova ํ๋ฌ๊ทธ์ธ์ cordova-plugin-androidx-adapter๋ฅผ ์ถ๊ฐํฉ๋๋ค.
5) gradle.properties์ ๋ค์์ด ์๋์ง ํ์ธํ์ญ์์ค.
cdvMinSdkVersion=19
build.gradle์ ๋ค์์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
project.ext { defaultBuildToolsVersion="28.0.3" //String defaultMinSdkVersion=19 //Integer - ์ต์ ์๊ตฌ ์ฌํญ์ Android 4.4์
๋๋ค. defaultTargetSdkVersion=28 //Integer - ๊ธฐ๋ณธ์ ์ผ๋ก ํญ์ ์ต์ ๋ฒ์ ์ ๋์์ผ๋ก ํฉ๋๋ค. defaultCompileSdkVersion=28 //Integer - ํญ์ ์ปดํ์ผํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ }
6) confix.xml์ ๋ค์์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
์์ : app:compileDebugJavaWithJavac FAILED
/Users/apple/Desktop/workspace-firebase/EPC_Hybrid/platforms/android/app/src/main/java/cordova/plugins/Diagnostic_Notifications. java:35 : ์ค๋ฅ: ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
import android.support.v4.app.NotificationManagerCompat;
^^
๊ธฐํธ: NotificationManagerCompat ํด๋์ค
์์น: ํจํค์ง android.support.v4.app
/Users/apple/Desktop/workspace-firebase/EPC_Hybrid/platforms/android/app/src/main/java/cordova/plugins/Diagnostic. java:57 : ์ค๋ฅ: ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.import android.support.v4.app.ActivityCompat;
^^
๊ธฐํธ: ActivityCompat ํด๋์ค
์์น: ํจํค์ง android.support.v4.app
/Users/apple/Desktop/workspace-firebase/EPC_Hybrid/platforms/android/app/src/main/java/cordova/plugins/Diagnostic_External_Storage. java:28 : ์ค๋ฅ: ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค .import android.support.v4.os.EnvironmentCompat;
์ฌ์ฉ:
@ionic-native/firebase-analytics": "^4.20.0"
@dpa99c
2019๋ 6์ 21์ผ ์ ๋ฐ์ดํธ
์๋์์ ์ ๋ฐ์ดํธ๋ ์๋ฃจ์ ์ ์ฐธ์กฐํ์ธ์.
์๋ ๋๊ธ
๋ค์์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ก์ปฌ ํดํน์ ํฌํจํ์ง ์๋ ์๋ฃจ์ ์ ๋๋ค.
- ์ต๊ทผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ๋ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ด ํฌํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
- Android ํ๋ก์ ํธ์์ AndroidX๋ฅผ ํ์ฑํํ๋ ค๋ฉด cordova-plugin-androidx ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- cordova-plugin-androidx-adapter ๋ฅผ ์ฌ์ฉํ์ฌ AndroidX์ ์๋ํ๋๋ก ์ด ํ๋ฌ๊ทธ์ธ์ ์์ค ์ฝ๋๋ฅผ ๋์ ์ผ๋ก ํจ์นํฉ๋๋ค.
์ฐธ๊ณ : ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์
cordova-android
ํ๋ซํผ(v8.0.0)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.์๋ฅผ ๋ค์ด:
# create test project cordova create test io.cordova.firebase.test && cd test # download the Firebase SDK config for test project (which is required to make the build succeed) curl https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebase-test/master/www/google-services.json -o google-services.json # add the latest cordova-android platform (v8.0.0) cordova platform add android<strong i="23">@latest</strong> # add my fork of this plugin cordova plugin add cordova-plugin-firebasex # add plugin to enable AndroidX in the project cordova plugin add cordova-plugin-androidx # add plugin to patch existing plugin source that uses the Android Support Library to use AndroidX cordova plugin add cordova-plugin-androidx-adapter # build! cordova build android
์ฝ์ ์ถ๋ ฅ
ํจ๊ณผ๊ฐ ์์๋ค!!!
์์ ์๋ฃจ์ ์ ์๋ํ๋๋ฐ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฌด์์ด ์๋ชป๋์๋์ง:
์์
': app:mergeDebugResources '์ ๋ํ ์คํ์ ์คํจํ์ต๋๋ค.
java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android ๋ฆฌ์์ค ์ปดํ์ผ ์คํจ
์ถ๋ ฅ: /Users/wearesas/Desktop/dragon-ridge/platforms/android/app/src/main/res/xml/config. xml:90 : ์ค๋ฅ: ์ธ๋ฐ์ด๋ ์ ๋์ฌ.
๋ช
๋ น: /private/var/root/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-alpha17-4804415-osx.jar/43333eb3f22700b3ea00948099587db3/aapt8099587db3/aapt8-3.71. aapt2 ์ปดํ์ผ --๋ ๊ฑฐ์
-์ํ
/Users/wearesas/Desktop/dragon-ridge/platforms/android/app/build/intermediates/res/merged/debug
/Users/wearesas/Desktop/dragon-ridge/platforms/android/app/src/main/res/xml/config.xml
๋ฐ๋ชฌ: AAPT2 aapt2-3.2.0-alpha17-4804415-osx ๋ฐ๋ชฌ #2
์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ ls
call-number 0.0.2 "์ฝ๋ฅด๋๋ฐ ํธ์ถ ๋ฒํธ ํ๋ฌ๊ทธ์ธ"
cordova-android-support-gradle-release 3.0.1 "cordova-android-support-gradle-release"
cordova-base64-to-gallery 4.1.3 "base64ToGallery"
cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
์ฝ๋ฅด๋๋ฐ-ํ๋ฌ๊ทธ์ธ-์๋๋ก์ด๋x 1.0.2 "์ฝ๋ฅด๋๋ฐ-ํ๋ฌ๊ทธ์ธ-์๋๋ก์ด๋x"
cordova-plugin-androidx-adapter 1.1.0 "cordova-plugin-androidx-adapter"
cordova-plugin-badge 0.8.8 "๋ฐฐ์ง"
cordova-plugin-camera 4.1.0 "์นด๋ฉ๋ผ"
cordova-plugin-device 2.0.3 "์ฅ์น"
cordova-plugin-file 6.0.2 "ํ์ผ"
cordova-plugin-firebasex 6.1.0 "Google Firebase ํ๋ฌ๊ทธ์ธ"
cordova-plugin-geolocation 4.0.2 "์ง๋ฆฌ์ ์์น"
cordova-plugin-inappbrowser 3.1.0 "์ธ์ฑ ๋ธ๋ผ์ฐ์ "
์ฝ๋ฅด๋๋ฐ-ํ๋ฌ๊ทธ์ธ-์ด์จ-ํค๋ณด๋ 2.2.0 "์ฝ๋ฅด๋๋ฐ-ํ๋ฌ๊ทธ์ธ-์ด์จ-ํค๋ณด๋"
cordova-plugin-ionic-webview 4.1.2 "cordova-plugin-ionic-webview"
cordova-plugin-media-capture 3.0.3 "์บก์ฒ"
cordova-plugin-splashscreen 5.0.3 "์คํ๋์ ํ๋ฉด"
์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ ์ํ ํ์์ค 2.4.3 "์ํ ํ์์ค"
cordova-plugin-whitelist 1.3.4 "ํ์ดํธ๋ฆฌ์คํธ"
๋ด๊ฐ ๋ญ ์๋ชปํ๊ณ ์๋์ง ์๊ฒ ์ด?
๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<framework src="com.google.android.gms:play-services-tagmanager:16+" /> <framework src="com.google.firebase:firebase-core:16.+" /> <framework src="com.google.firebase:firebase-messaging:17.+" /> <framework src="com.google.firebase:firebase-config:16.+" /> <framework src="com.google.firebase:firebase-perf:16.+" />
๋ค์ ์คํ ๋ฐ ๋น๋
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
2019๋ 6์ 21์ผ ์ ๋ฐ์ดํธ
์๋์์ ์ ๋ฐ์ดํธ๋ ์๋ฃจ์ ์ ์ฐธ์กฐํ์ธ์.
์๋ ๋๊ธ
๋ค์์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ก์ปฌ ํดํน์ ํฌํจํ์ง ์๋ ์๋ฃจ์ ์ ๋๋ค.
์ฐธ๊ณ : ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์
cordova-android
ํ๋ซํผ(v8.0.0)์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.์๋ฅผ ๋ค์ด:
์ฝ์ ์ถ๋ ฅ