离子:未指定compileSdkVersion

时间:2018-12-11 13:31:56

标签: cordova ionic-framework

我正在尝试运行以下命令:

ionic cordova run android --device

但是我遇到了以下错误

    BUILD FAILED in 3s
    (node:3956) UnhandledPromiseRejectionWarning: Error: cmd: Command failed with exit code 1 Error output:
    Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
    java.lang.IllegalStateException: compileSdkVersion is not specified.
            at com.google.common.base.Preconditions.checkState(Preconditions.java:456)
            at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:590)
            at com.android.build.gradle.BasePlugin.lambda$null$3(BasePlugin.java:555)
            at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81)
            at com.android.build.gradle.BasePlugin.lambda$createTasks$4(BasePlugin.java:551)
            at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:91)
            at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:80)
            at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
            at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
            at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
            at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
            at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
            at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
            at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
            at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
            at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
            at com.sun.proxy.$Proxy24.afterEvaluate(Unknown Source)
            at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:75)
            at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:69)............

我尝试删除并添加android平台

ionic cordova platform rm android
ionic cordova platform add android

但仍然是相同的错误。任何帮助,将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:0)

您不必使用--device即可在手机上运行该应用程序,也可以使用:

ionic cordova构建Android 接着 离子科尔多瓦运行android

,如果您要检查每个人都会看到的真实结果,那么该应用的最终结果是

ionic cordova运行android --prod,但您以后可以使用

答案 1 :(得分:0)

我没有粘贴我在问题中收到的全部错误,因为有很多“代码”(我应该将错误粘贴为简单的文本,而不是代码),所以stackoverflow不会让我发帖

无论如何,错误行之一是

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\xyz\idek\platforms\android\app\build.gradle' line: 95

因此,我在app \ build.gradle中查看了这行95,它与我使用的FCM插件有关。因此,我继续从应用程序中删除了该插件。

ionic cordova plugin rm cordova-plugin-fcm-with-dependecy-updated
npm uninstall --save @ionic-native/fcm

此外,您还必须在使用此插件的应用程序中注释代码。

现在我的应用程序成功运行了。我还没有找到为什么这个插件会引起问题。

编辑

FCM插件不起作用的解决方案在这里https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated/pull/2

它的作用是,将FCMPlugin.gradle中的所有jcenter()替换为mavenCentral()

答案 2 :(得分:0)

请共享此错误的最后一行,例如-

失败:构建失败,并出现异常

  • 其中:

  • 出了什么问题:

如果显示任何模块名称,请删除该名称,然后重新安装。 当您重新安装时,请使用以下命令创建apk-“ ionic cordova build android”

此后,如果有任何错误显示,请发送给我。