Phonegap显示错误-“哦,天哪.您的构建失败." [英] Phonegap shows error - “Oh geez. Your build failed.”

查看:100
本文介绍了Phonegap显示错误-“哦,天哪.您的构建失败."的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为我的Android应用程序使用Phonegap Build,并且在编译时遇到以下错误:

I am using Phonegap Build for my Android app and am running into the following error when compiling:

哦,天哪.您的构建失败.单击上方的日志"按钮以查看编译日志.如果您需要诊断问题的帮助,则可以使用您的应用ID将其发布到支持论坛.

Oh geez. Your build failed. Click the "Log" button above to view the compile log. If you need help diagnosing the issue, you can post to the support forum with your App ID.

XML

 <?xml version="1.0" encoding="utf-8" ?>
    <widget xmlns = "http://www.w3.org/ns/widgets"
        xmlns:gap = "http://phonegap.com/ns/1.0"
        xmlns:android = "http://schemas.android.com/apk/res/android"
        id        = "kmcrs.mobibbhvle.app"
        versionCode = "22"
        version   = "2.2">
        <name>bobile App</name>
        <description>
            bobile mobile app version
        </description>
        <author email="mmakhan669@gmail.com" href="ujairo.com">
            Ujairo.com
        </author>

        <content src="index.html" />

        <preference name="orientation" value="portrait" />
        <preference name="android-build-tool" value="gradle" />     
        <preference name="phonegap-version" value="cli-7.1.0" />

        <gap:plugin name="cordova-plugin-whitelist" source="npm" />

        <gap:plugin name="phonegap-plugin-push" source="npm" spec="1.11.1"  /> 


        <gap:plugin name="cordova-plugin-device" source="npm" />        
        <gap:plugin name="cordova-plugin-inappbrowser" source="npm" />      
        <gap:plugin name="cordova-plugin-splashscreen" source="npm" />  
        <gap:plugin name="cordova-plugin-geolocation" source="npm" spec="1.0.1" />
        <gap:plugin name="cordova-plugin-network-information" source="npm" />

        <gap:plugin name="cordova-plugin-request-location-accuracy" source="npm"  spec="2.2.3" />   
        <gap:plugin name="cordova-plugin-x-toast" source="npm" spec="2.6.2" />  


        <gap:plugin name="cordova-plugin-media" source="npm" spec="5.0.0" />    
        <gap:plugin name="cordova.plugins.diagnostic" source="npm" spec="4.0.8" />  

        <gap:plugin name="cordova-plugin-googlemaps"  source="npm" spec="2.3.10" >
           <param name="API_KEY_FOR_ANDROID" value="AIzaSyBSkBzEjEwIC-0uuJmNVvBgC4Lomn1qX2k" />
           <param name="API_KEY_FOR_IOS" value="your key" />
           <param name="LOCATION_WHEN_IN_USE_DESCRIPTION" value="Karenderia wants to use your location" />
           <param name="LOCATION_ALWAYS_USAGE_DESCRIPTION" value="Karenderia want to always use your location" />
        </gap:plugin>

        <gap:plugin name="cordova-plugin-buildinfo" source="npm" spec="2.0.2"  />

        <gap:plugin name="cordova-plugin-googleplus" source="npm">
         <variable name="REVERSED_CLIENT_ID" value="" />
        </gap:plugin>

        <platform name="android" />    
        <platform name="ios" /> 

        <preference name="AutoHideSplashScreen" value="false" />    
        <preference name="SplashScreenDelay" value="10000" />    
        <preference name="fullscreen" value="false" />
        <preference name="android-minSdkVersion" value="16" />     
        <preference name="ShowSplashScreenSpinner" value="false" />    

        <access origin="*" />
        <access origin="tel:*" launch-external="yes" />

        <gap:config-file platform="android" parent="/manifest">
            <supports-screens android:xlargeScreens="true" android:largeScreens="true" android:smallScreens="true" />
            <application android:theme="@android:style/Theme.NoTitleBar" >            
            </application>        
        </gap:config-file> 

        <preference name="phonegap-version" value="cli-7.1.0" />     
        <gap:plugin name="cordova-plugin-camera" source="npm" spec="2.4.1" />

        <platform name="ios">    
            <config-file platform="ios" target="*-Info.plist" parent="NSLocationAlwaysUsageDescription">
                <string>Karenderia want to always use your location</string>
            </config-file>
            <config-file platform="ios" target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
                <string>Karenderia wants to use your location</string>
            </config-file>
        </platform>   

        <edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
        <string>need camera access to take pictures</string>
        </edit-config>

        <edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
            <string>need to photo library access to get pictures from there</string>
        </edit-config>

        <edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
            <string>need location access to find things nearby</string>
        </edit-config>

        <edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge">
            <string>need to photo library access to save pictures there</string>
        </edit-config>

        <platform name="android">

            <resource-file src="www/beep.wav" target="res/raw/beep.wav" /> 

            <icon density="ldpi" src="res/icons/android/drawable-ldpi-icon.png" />
            <icon density="mdpi" src="res/icons/android/drawable-mdpi-icon.png" />
            <icon density="hdpi" src="res/icons/android/drawable-hdpi-icon.png" />
            <icon density="xhdpi" src="res/icons/android/drawable-xhdpi-icon.png" />
            <icon density="xxhdpi" src="res/icons/android/drawable-xxhdpi-icon.png" />
            <icon density="xxxhdpi" src="res/icons/android/drawable-xxxhdpi-icon.png" />

            <splash density="land-ldpi" src="res/screens/android/drawable-land-ldpi-screen.png" />
            <splash density="land-mdpi" src="res/screens/android/drawable-land-mdpi-screen.png" />
            <splash density="land-hdpi" src="res/screens/android/drawable-land-hdpi-screen.png" />
            <splash density="land-xhdpi" src="res/screens/android/drawable-land-xhdpi-screen.png" />
            <splash density="land-xxhdpi" src="res/screens/android/drawable-land-xxhdpi-screen.png" />
            <splash density="land-xxxhdpi" src="res/screens/android/drawable-land-xxxhdpi-screen.png" />
            <splash density="port-ldpi" src="res/screens/android/drawable-port-ldpi-screen.png" />
            <splash density="port-mdpi" src="res/screens/android/drawable-port-mdpi-screen.png" />
            <splash density="port-hdpi" src="res/screens/android/drawable-port-hdpi-screen.png" />
            <splash density="port-xhdpi" src="res/screens/android/drawable-port-xhdpi-screen.png" />
            <splash density="port-xxhdpi" src="res/screens/android/drawable-port-xxhdpi-screen.png" />
            <splash density="port-xxxhdpi" src="res/screens/android/drawable-port-xxxhdpi-screen.png" />
        </platform>

        <platform name="ios">

            <icon height="57" platform="ios" src="res/icons/ios/icon.png" width="57" />
            <icon height="114" platform="ios" src="res/icons/ios/icon@2x.png" width="114" />
            <icon height="40" platform="ios" src="res/icons/ios/icon-40.png" width="40" />
            <icon height="80" platform="ios" src="res/icons/ios/icon-40@2x.png" width="80" />
            <icon height="50" platform="ios" src="res/icons/ios/icon-50.png" width="50" />
            <icon height="100" platform="ios" src="res/icons/ios/icon-50@2x.png" width="100" />
            <icon height="60" platform="ios" src="res/icons/ios/icon-60.png" width="60" />
            <icon height="120" platform="ios" src="res/icons/ios/icon-60@2x.png" width="120" />
            <icon height="180" platform="ios" src="res/icons/ios/icon-60@3x.png" width="180" />
            <icon height="72" platform="ios" src="res/icons/ios/icon-72.png" width="72" />
            <icon height="144" platform="ios" src="res/icons/ios/icon-72@2x.png" width="144" />
            <icon height="76" platform="ios" src="res/icons/ios/icon-76.png" width="76" />
            <icon height="152" platform="ios" src="res/icons/ios/icon-76@2x.png" width="152" />
            <icon height="29" platform="ios" src="res/icons/ios/icon-small.png" width="29" />
            <icon height="58" platform="ios" src="res/icons/ios/icon-small@2x.png" width="58" />
            <icon height="87" platform="ios" src="res/icons/ios/icon-small@3x.png" width="87" />

            <splash height="1136" platform="ios" src="res/screens/ios/Default-568h@2x~iphone.png" width="640" />
            <splash height="1334" platform="ios" src="res/screens/ios/Default-667h.png" width="750" />
            <splash height="2208" platform="ios" src="res/screens/ios/Default-736h.png" width="1242" />
            <splash height="1242" platform="ios" src="res/screens/ios/Default-Landscape-736h.png" width="2208" />
            <splash height="1536" platform="ios" src="res/screens/ios/Default-Landscape@2x~ipad.png" width="2048" />
            <splash height="768" platform="ios" src="res/screens/ios/Default-Landscape~ipad.png" width="1024" />
            <splash height="2048" platform="ios" src="res/screens/ios/Default-Portrait@2x~ipad.png" width="1536" />
            <splash height="1024" platform="ios" src="res/screens/ios/Default-Portrait~ipad.png" width="768" />
            <splash height="960" platform="ios" src="res/screens/ios/Default@2x~iphone.png" width="640" />
            <splash height="480" platform="ios" src="res/screens/ios/Default~iphone.png" width="320" />
        </platform>    

    </widget>

> 在此处编译日志.

推荐答案

如果在日志中一直向下滚动,则会看到多个错误消息:

If you scroll all the way down in your logs, you will see multiple error message:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:tbxml-android:] /build/intermediates/exploded-aar/tbxml-android/AndroidManifest.xml
    Suggestion: use tools:overrideLibrary="za.co.twyst" to force usage

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.29 secs
Error: /gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/AndroidManifest.xml:38:5-74 Error:
    uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:tbxml-android:] /build/intermediates/exploded-aar/tbxml-android/AndroidManifest.xml
    Suggestion: use tools:overrideLibrary="za.co.twyst" to force usage

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:tbxml-android:] /build/intermediates/exploded-aar/tbxml-android/AndroidManifest.xml
    Suggestion: use tools:overrideLibrary="za.co.twyst" to force usage

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    at ChildProcess.whenDone (/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:877:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

它们都指向同一个问题,有些东西(很可能是一个插件)需要最低SDK版本16,而项目的最低要求是19.最低SDK版本19是由cordova-plugin-googlemaps插件设置的. .您必须找出其中哪些插件需要最低SDK版本16,并查看是否有可用的更新.

They all point to the same issue, there is something (most probably a plugin) that requires minimum SDK version 16, while the minimum of the project is 19. The minimum SDK version of 19 is set by the cordova-plugin-googlemaps plugin. You'll have to find out which of these plugins requires minimum SDK version 16 and see if there is an update available.

这篇关于Phonegap显示错误-“哦,天哪.您的构建失败."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆