Android Ionic Cordova生成失败,错误为应用插件失败
当我在爱奥尼亚运行命令构建Android项目时-Android Ionic Cordova生成失败,错误为应用插件失败,android,cordova,ionic-framework,ionic2,ionic-native,Android,Cordova,Ionic Framework,Ionic2,Ionic Native,当我在爱奥尼亚运行命令构建Android项目时- ionic cordova build android或cordova build android 这是我的平台/android/project.properties target=android-26 android.library.reference.1=CordovaLib cordova.gradle.include.1=cordova-support-google-services/luxerus-build.gradle cordov
ionic cordova build android
或cordova build android
这是我的平台/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
有错误的输出
该错误为您提供了额外的解释: 对于输入字符串:“+” 所以问题是你使用的格式
cordova.system.library.1=com.google.gms:google-services:+
如果你使用Android Studio,你也会有一个警告,如
避免在版本号中使用+;可能导致不可预测和
不可重复的构建
在依赖项中使用+
,可以自动获取最新的
可用版本,而不是特定的命名版本。但是,
不推荐使用;你的构建是不可重复的;你可能有
测试的版本与构建服务器的版本稍有不同
用过。(使用动态版本作为主要版本号更容易
与在次要版本位置使用相比,存在问题。)
因此,与其使用+
,不如至少给它一个主要版本,如11.0.+
(只需测试一下,看看哪个版本适合您的项目)。尝试更改此版本
cordova.system.library.1=com.google.gms:google-services:+
为此:
cordova.system.library.1=com.google.gms:google-services:3.1.1
看起来您对google play服务有另一个依赖项—您必须修复所有依赖项版本,使其更具体,如11.0.+。并尝试使所有这些都匹配,例如,如果firebase使用不同的服务版本,这可能是您的问题尝试删除您的Android平台,然后再次添加: 爱奥尼亚cordova平台rm android 爱奥尼亚cordova平台添加android
然后再次尝试运行构建。以上所有答案都非常有用。谢谢用于发布答案 通过遵循这些步骤,我成功了 步骤-1) 步骤-2) 然后在终点站
nano ~/.bash_profile
步骤-3)
步骤-4)
注释行(在文件cordova plugin fcm/project-FCMPlugin.gradle中,行号-13)
步骤-5)
评论行(在文件cordova support google services/project-build.gradle中,行号-16)
步骤-6)
外接程序文件,项目级build.gradle,行号-35
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
步骤-7)
在文件project.properties中(版本9.8.0也适用于我!在另一个项目中,为此我使用了9.0.0)
即使在那之后,我还是犯了这个错误 默认FirebaseApp未在此进程processName中初始化。请确保首先调用FirebaseApp.initializeApp(上下文) 我有这个问题。我在android studio的平台上构建了生成的android项目,然后我发现了问题并解决了这个问题 按照以下步骤操作 在platforms文件夹中,android/src/{package name}/MainActivity.java 导入firebase库, *导入com.google.firebase.FirebaseApp 在oncreate方法内部,在super.oncreate(savedinstancestate)下面 添加FirebaseApp.initializeApp(此) 最后一步, 在platforms文件夹中,android/res/values/string.xml 加 *** ***可以在googleservice.json文件中找到 “客户”:[ { “客户信息”:{ “mobilesdk_应用程序_id”:此值
参考(更多详情):
还要将其添加到AndroidManifest.xml中
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />
就这样。谢谢
上述问题是由于在构建过程中多次应用google services插件而导致的。一旦合并到Cordova Android,该问题就可以解决。Cordova Android确保Cordova支持google services将只运行一次。感谢您的回答。尝试了不同的版本!仍然是相同的错误。我们如何知道哪个版本有效?是否存在任何问题有什么办法可以解决这个问题吗?嗯,我不习惯Ionic,但对于Gradle来说,最好还是和你的其他库一样,9.8.0。最后一个版本是谢谢!你的回答帮助我完成了工作。为了让它工作,我必须解决很多问题,检查我的答案。有关详细信息,这个文件的第16行是什么?platforms/android/cordova-支持谷歌服务/luxerus-build.gradleOn第16行->应用插件:com.google.gms.googleservices.GoogleServicesPluginAs据我所知。“cordova.system.library.1=com.google.gms:google服务:+”意思是包括所有谷歌服务库。所以你应该评论你的第16行。这是两个谷歌服务库之间的冲突。谢谢!你的回答帮助我完成了工作。为了让它工作,我必须修复很多事情,请查看我的回答。有关详细信息。我想你的一个插件正在使用+包含依赖项,这导致e issueThanks!是的,你是对的。为了让它工作,我必须修复很多东西,即使在解决了(插件正在使用+)之后,检查我的答案。我应该把它作为一个答案发布吗?
ionic cordova platform add android@6.4.0
//apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
//apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
dependencies {
classpath 'com.android.tools.build:gradle:3.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
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />