2015-09-14 3 views
0

Я разрабатываю простое приложение, которое может получать pushnotifications с использованием рамки cordova в visual studio 2015. Я закончил свое приложение-образец на прошлой неделе, но по какой-то причине он отказывается компилировать сегодня из-за плавного плагина библиотека (https://github.com/phonegap/phonegap-plugin-push). Первая ошибка, которую я получил, была.Сбой компиляции PushPlugin 1

1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample4\platforms\android\AndroidManifest.xml:24:5 Error: (TaskId:11) 
1>  uses-sdk:minSdkVersion 10 cannot be smaller than version 13 declared in library C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample4\platforms\android\build\intermediates\exploded-aar\com.android.support\support-v13\22.2.1\AndroidManifest.xml (TaskId:11) 
1> :processDebugManifest FAILED (TaskId:11) 
1>  Suggestion: use tools:overrideLibrary="android.support.v13" to force usage (TaskId:11) 
1> (TaskId:11) 
1> FAILURE: Build failed with an exception. (TaskId:11) 
1> (TaskId:11) 
1> * What went wrong: (TaskId:11) 
1> Execution failed for task ':processDebugManifest'. (TaskId:11) 
1> > Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 13 declared in library C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample4\platforms\android\build\intermediates\exploded-aar\com.android.support\support-v13\22.2.1\AndroidManifest.xml (TaskId:11) 
1>  Suggestion: use tools:overrideLibrary="android.support.v13" to force usage (TaskId:11) 

Я следовал инструкциям, предоставленным мне компилятором, изменив свой манифест, как это:

  • Добавить инструменты XML-пространства: Xmlns: инструменты = "http://schemas.android. ком/инструменты»

  • Добавить линия для поддержки SDk:

  • Set minSdkVersion> 10

Вот полный файл манифеста:

<?xml version='1.0' encoding='utf-8'?> 
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="io.cordova.myapp2f4e1e" xmlns:android="http://schemas.android.com/apk/res/android" **xmlns:tools="http://schemas.android.com/tools"**> 
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    **<use-sdk tools:overrideLibrary="android.support.v13" />** 
    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true"> 
     <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize"> 
      <intent-filter android:label="@string/launcher_name"> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <receiver android:name="msopentech.azure.NotificationHub$PushNotificationReceiver" android:permission="com.google.android.c2dm.permission.SEND"> 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <category android:name="io.cordova.myapp2f4e1e" /> 
      </intent-filter> 
     </receiver> 
     <activity android:exported="true" android:name="com.adobe.phonegap.push.PushHandlerActivity" /> 
     <receiver android:name="com.adobe.phonegap.push.CordovaGCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
       <category android:name="io.cordova.myapp2f4e1e" /> 
      </intent-filter> 
     </receiver> 
     <service android:name="com.adobe.phonegap.push.GCMIntentService" /> 
    </application> 
    **<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />** 
    <permission android:name="io.cordova.myapp2f4e1e.permission.C2D_MESSAGE" android:protectionLevel="signature" /> 
    <uses-permission android:name="io.cordova.myapp2f4e1e.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
</manifest> 

Следующей вещь, которую я получаю цунами «не может найти символ» ошибок, вот некоторые из них:

symbol: variable COUNT (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample3\platforms\android\src\com\adobe\phonegap\push\PushPlugin.java:201: error: cannot find symbol (TaskId:11) 
1>     } else if (key.equals(SOUNDNAME) || key.equals(SOUND)) { (TaskId:11) 
1>          ^(TaskId:11) 
1> symbol: variable SOUNDNAME (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample3\platforms\android\src\com\adobe\phonegap\push\PushPlugin.java:201: error: cannot find symbol (TaskId:11) 
1>     } else if (key.equals(SOUNDNAME) || key.equals(SOUND)) { (TaskId:11) 
1>                ^(TaskId:11) 
1> symbol: variable SOUND (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample3\platforms\android\src\com\adobe\phonegap\push\PushPlugin.java:202: error: cannot find symbol (TaskId:11) 
1>      json.put(SOUND, value); (TaskId:11) 
1>        ^(TaskId:11) 
1> symbol: variable SOUND (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample3\platforms\android\src\com\adobe\phonegap\push\PushPlugin.java:203: error: cannot find symbol (TaskId:11) 
1>     } else if (key.equals(IMAGE)) { (TaskId:11) 
1>          ^(TaskId:11) 
1> symbol: variable IMAGE (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample3\platforms\android\src\com\adobe\phonegap\push\PushPlugin.java:204: error: cannot find symbol (TaskId:11) 
1>      json.put(IMAGE, value); (TaskId:11) 
1>        ^(TaskId:11) 
1> symbol: variable IMAGE (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> C:\Code\Javascript\CordovaProjects\PushNotificationSolution\Sample3\platforms\android\src\com\adobe\phonegap\push\PushPlugin.java:205: error: cannot find symbol (TaskId:11) 
1>     } else if (key.equals(CALLBACK)) { (TaskId:11) 
1>          ^(TaskId:11) 
1> symbol: variable CALLBACK (TaskId:11) 
1> location: class PushPlugin (TaskId:11) 
1> 100 errors (TaskId:11) 
1> (TaskId:11) 
1> FAILURE: Build failed with an exception. (TaskId:11) 
1> (TaskId:11) 
1> * What went wrong: (TaskId:11) 
1> Execution failed for task ':compileDebugJava'. (TaskId:11) 
1> :compileDebugJava FAILED (TaskId:11) 
1> > Compilation failed; see the compiler error output for details. (TaskId:11) 
1> (TaskId:11) 
1> * Try: (TaskId:11) 
1> Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. (TaskId:11) 
1> (TaskId:11) 
1> BUILD FAILED (TaskId:11) 
1> (TaskId:11) 
1> Total time: 4.827 secs (TaskId:11) 

Я понятия не имею, как исправить это или что я мог сделать, чтобы заставить pushplugin перестать работать. Есть ли у кого-нибудь проблемы с этим плагином?

+1

Вы можете преодолеть это, обновив корневой файл config.xml, чтобы использовать 'android-minSdkVersion' 13 и перестроить. Но не может гарантировать, что плагин push будет работать – highfive

ответ

0

Я только что установил https://github.com/phonegap/phonegap-plugin-push, и он сгенерировал те же проблемы для меня.

Я последовал HighFive's предложение:

Если вы идете в файл config.xml и на вкладке андроида установить его 13, сохраните файл, и строить вы должны быть в порядке.

По крайней мере, он построен для меня. Теперь протестировать функциональность.

UPDATE: удалось вытащить reg id, чтобы он был функциональным с этим изменением.

Смежные вопросы