Ionic Cordova 构建失败,出现错误 Failed to apply plugin
Ionic Cordova build failed with error Failed to apply plugin
当我运行在Ionic中构建Android项目的命令时-
ionic cordova build android
或 cordova build android
这是我的 platform/android/project.properties
target=android-26
android.library.reference.1=CordovaLib
cordova.gradle.include.1=cordova-support-google-services/luxerus-build.gradle
cordova.gradle.include.2=cordova-plugin-firebase/luxerus-build.gradle
cordova.system.library.1=com.google.gms:google-services:+
cordova.system.library.2=com.google.android.gms:play-services-tagmanager:9.8.0
cordova.system.library.3=com.google.firebase:firebase-core:9.8.0
cordova.system.library.4=com.google.firebase:firebase-messaging:9.8.0
cordova.system.library.5=com.google.firebase:firebase-crash:9.8.0
cordova.system.library.6=com.google.firebase:firebase-config:9.8.0
cordova.system.library.7=com.google.firebase:firebase-perf:9.8.0
输出错误
错误是给你一个额外的解释:
For input string: "+"
所以问题是你使用的格式
cordova.system.library.1=com.google.gms:google-services:+
如果您使用 Android Studio,您还会收到类似
的警告
Avoid using + in version numbers; can lead to unpredictable and
unrepeatable builds
Using +
in dependencies lets you automatically pick up the latest
available version rather than a specific, named version. However, this
is not recommended; your builds are not repeatable; you may have
tested with a slightly different version than what the build server
used. (Using a dynamic version as the major version number is more
problematic than using it in the minor version position.)
所以不要 +
,至少给它一个主要版本,比如 11.0.+
(只需测试一下,看看哪个版本适用于您的项目)。
尝试改变这个
cordova.system.library.1=com.google.gms:google-services:+
为此:
cordova.system.library.1=com.google.gms:google-services:3.1.1
您似乎对 google 播放服务有另一个依赖项您必须修复所有依赖项版本,使其更具体,例如 11.0.+。并尝试使它们全部匹配,例如,如果 firebase 使用不同的服务版本,这可能是你的问题
尝试删除您的 Android 平台并重新添加:
ionic cordova platform rm android
ionic cordova platform add android
然后再次尝试运行您的构建。
以上所有答案都非常有帮助。谢谢!发布答案。
This worked for me by following these steps!!
步骤 - 1)
ionic cordova platform rm android
步骤 - 2)
然后在终端..
nano ~/.bash_profile
export PATH=$PATH:/Users/$USER/Library/Android/sdk/platform-tools/
export PATH=$PATH:/Users/$USER/Library/Android/sdk/tools/
步骤 - 3)
ionic cordova platform add android@6.4.0
步骤 - 4)
注释行(在文件 cordova-plugin-fcm/project-FCMPlugin.gradle,行号 - 13)
//apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
步骤 - 5)
注释行(在文件 cordova-support-google-services/project-build.gradle,行号 - 16)
//apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
步骤 - 6)
在文件中添加,项目级别 build.gradle,行号 - 35
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
步骤 - 7)
在文件 project.properties 中(版本 9.8.0 也适用于我!在另一个项目中,为此我使用了 9.0.0)
target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.google.firebase:firebase-core:9.0.0
cordova.system.library.2=com.google.firebase:firebase-messaging:9.0.0
cordova.gradle.include.1=cordova-plugin-fcm/luxerus-FCMPlugin.gradle
cordova.gradle.include.2=cordova-plugin-firebase/luxerus-build.gradle
cordova.system.library.3=com.google.gms:google-services:+
cordova.system.library.4=com.google.android.gms:play-services-tagmanager:+
cordova.system.library.5=com.google.firebase:firebase-core:+
cordova.system.library.6=com.google.firebase:firebase-messaging:+
cordova.system.library.7=com.google.firebase:firebase-crash:+
cordova.system.library.8=com.google.firebase:firebase-config:+
cordova.system.library.9=com.google.firebase:firebase-perf:+
cordova.gradle.include.3=cordova-support-google-services/luxerus-build.gradle
Even after that, I got this error!
默认 FirebaseApp 未在此过程中初始化 processName 确保先调用 FirebaseApp.initializeApp(Context)。
我有这个问题。我在 android studio 的平台中构建了生成的 android 项目,然后我发现了问题并解决了这个问题。
按照这个步骤..
在平台文件夹中,android/src/{包名}/MainActivity.java
导入 firebase 库,
* 导入 com.google.firebase.FirebaseApp;
在 oncreate 方法内部,super.oncreate(savedinstancestate) 下面,
添加FirebaseApp.initializeApp(这个);
最后一步,
在平台文件夹中,android/res/values/string。xml,
添加***
***可以在googleservice.json文件"client"中找到:[{"client_info":{"mobilesdk_app_id":这个值
参考(更多详细信息):https://github.com/arnesson/cordova-plugin-firebase/issues/142
同时在 AndroidManifest.xml
中添加
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />
That's it. Thanks!!
上述问题是由于 google 服务插件在构建过程中应用了不止一次。这个问题可以在 Add support for EnableGoogleServicesPlugin PR 合并到 Cordova Android 后解决,这确保 cordova-support-google-services 只会 运行 一次。
当我运行在Ionic中构建Android项目的命令时-
ionic cordova build android
或 cordova build android
这是我的 platform/android/project.properties
target=android-26
android.library.reference.1=CordovaLib
cordova.gradle.include.1=cordova-support-google-services/luxerus-build.gradle
cordova.gradle.include.2=cordova-plugin-firebase/luxerus-build.gradle
cordova.system.library.1=com.google.gms:google-services:+
cordova.system.library.2=com.google.android.gms:play-services-tagmanager:9.8.0
cordova.system.library.3=com.google.firebase:firebase-core:9.8.0
cordova.system.library.4=com.google.firebase:firebase-messaging:9.8.0
cordova.system.library.5=com.google.firebase:firebase-crash:9.8.0
cordova.system.library.6=com.google.firebase:firebase-config:9.8.0
cordova.system.library.7=com.google.firebase:firebase-perf:9.8.0
输出错误
错误是给你一个额外的解释:
For input string: "+"
所以问题是你使用的格式
cordova.system.library.1=com.google.gms:google-services:+
如果您使用 Android Studio,您还会收到类似
的警告Avoid using + in version numbers; can lead to unpredictable and unrepeatable builds
Using
+
in dependencies lets you automatically pick up the latest available version rather than a specific, named version. However, this is not recommended; your builds are not repeatable; you may have tested with a slightly different version than what the build server used. (Using a dynamic version as the major version number is more problematic than using it in the minor version position.)
所以不要 +
,至少给它一个主要版本,比如 11.0.+
(只需测试一下,看看哪个版本适用于您的项目)。
尝试改变这个
cordova.system.library.1=com.google.gms:google-services:+
为此:
cordova.system.library.1=com.google.gms:google-services:3.1.1
您似乎对 google 播放服务有另一个依赖项您必须修复所有依赖项版本,使其更具体,例如 11.0.+。并尝试使它们全部匹配,例如,如果 firebase 使用不同的服务版本,这可能是你的问题
尝试删除您的 Android 平台并重新添加:
ionic cordova platform rm android
ionic cordova platform add android
然后再次尝试运行您的构建。
以上所有答案都非常有帮助。谢谢!发布答案。
This worked for me by following these steps!!
步骤 - 1)
ionic cordova platform rm android
步骤 - 2) 然后在终端..
nano ~/.bash_profile
export PATH=$PATH:/Users/$USER/Library/Android/sdk/platform-tools/
export PATH=$PATH:/Users/$USER/Library/Android/sdk/tools/
步骤 - 3)
ionic cordova platform add android@6.4.0
步骤 - 4) 注释行(在文件 cordova-plugin-fcm/project-FCMPlugin.gradle,行号 - 13)
//apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
步骤 - 5) 注释行(在文件 cordova-support-google-services/project-build.gradle,行号 - 16)
//apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
步骤 - 6) 在文件中添加,项目级别 build.gradle,行号 - 35
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
步骤 - 7) 在文件 project.properties 中(版本 9.8.0 也适用于我!在另一个项目中,为此我使用了 9.0.0)
target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.google.firebase:firebase-core:9.0.0
cordova.system.library.2=com.google.firebase:firebase-messaging:9.0.0
cordova.gradle.include.1=cordova-plugin-fcm/luxerus-FCMPlugin.gradle
cordova.gradle.include.2=cordova-plugin-firebase/luxerus-build.gradle
cordova.system.library.3=com.google.gms:google-services:+
cordova.system.library.4=com.google.android.gms:play-services-tagmanager:+
cordova.system.library.5=com.google.firebase:firebase-core:+
cordova.system.library.6=com.google.firebase:firebase-messaging:+
cordova.system.library.7=com.google.firebase:firebase-crash:+
cordova.system.library.8=com.google.firebase:firebase-config:+
cordova.system.library.9=com.google.firebase:firebase-perf:+
cordova.gradle.include.3=cordova-support-google-services/luxerus-build.gradle
Even after that, I got this error!
默认 FirebaseApp 未在此过程中初始化 processName 确保先调用 FirebaseApp.initializeApp(Context)。
我有这个问题。我在 android studio 的平台中构建了生成的 android 项目,然后我发现了问题并解决了这个问题。
按照这个步骤..
在平台文件夹中,android/src/{包名}/MainActivity.java
导入 firebase 库, * 导入 com.google.firebase.FirebaseApp;
在 oncreate 方法内部,super.oncreate(savedinstancestate) 下面,
添加FirebaseApp.initializeApp(这个);
最后一步,
在平台文件夹中,android/res/values/string。xml,
添加***
***可以在googleservice.json文件"client"中找到:[{"client_info":{"mobilesdk_app_id":这个值
参考(更多详细信息):https://github.com/arnesson/cordova-plugin-firebase/issues/142
同时在 AndroidManifest.xml
中添加<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />
That's it. Thanks!!
上述问题是由于 google 服务插件在构建过程中应用了不止一次。这个问题可以在 Add support for EnableGoogleServicesPlugin PR 合并到 Cordova Android 后解决,这确保 cordova-support-google-services 只会 运行 一次。