I've been working on the IOS side of an app for a while. I had it working just fine in Android a few months ago but have not touched it again until now (Android isn't very high on the priority list). Everything is configured for Android but the build failed. I noticed that I had an XDK update so I updated to 3088. That did not resolve the issue. The app builds for IOS (and deploys fine). However, the Android version fails on build. Here is the snippet from the log that seems relevant (more details after the snippet):
************* Completed processing the main config.xml file (after_prepare) ***************** ANDROID_HOME=.../android-sdk JAVA_HOME=/usr/lib/jvm/java-8-oracle-amd64 embedded WARNING [Project: :] Current NDK support is deprecated. Alternative will be provided in the future. WARNING [Project: :] Current NDK support is deprecated. Alternative will be provided in the future. WARNING [Project: :] Current NDK support is deprecated. Alternative will be provided in the future. WARNING [Project: :] Current NDK support is deprecated. Alternative will be provided in the future. org.xwalk:xwalk_core_library:15+ :preBuild :compileArmv7ReleaseNdk :preArmv7ReleaseBuild :checkArmv7ReleaseManifest :preX86ReleaseBuild :CordovaLib:compileLint :CordovaLib:copyReleaseLint UP-TO-DATE :CordovaLib:mergeReleaseProguardFiles :CordovaLib:preBuild :CordovaLib:preReleaseBuild :CordovaLib:checkReleaseManifest :CordovaLib:prepareReleaseDependencies :CordovaLib:compileReleaseAidl :CordovaLib:compileReleaseRenderscript :CordovaLib:generateReleaseBuildConfig :CordovaLib:generateReleaseAssets UP-TO-DATE :CordovaLib:mergeReleaseAssets :CordovaLib:generateReleaseResValues :CordovaLib:generateReleaseResources :CordovaLib:packageReleaseResources :CordovaLib:processReleaseManifest :CordovaLib:processReleaseResources :CordovaLib:generateReleaseSources :CordovaLib:compileReleaseJavaNote: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. :CordovaLib:processReleaseJavaRes UP-TO-DATE :CordovaLib:packageReleaseJar :CordovaLib:compileReleaseNdk :CordovaLib:packageReleaseJniLibs UP-TO-DATE :CordovaLib:packageReleaseLocalJar UP-TO-DATE :CordovaLib:packageReleaseRenderscript UP-TO-DATE :CordovaLib:bundleRelease :prepareAndroidCordovaLibUnspecifiedReleaseLibrary :preArmv7DebugBuild :preX86DebugBuild :CordovaLib:copyDebugLint UP-TO-DATE :CordovaLib:mergeDebugProguardFiles :CordovaLib:preDebugBuild :CordovaLib:checkDebugManifest :CordovaLib:prepareDebugDependencies :CordovaLib:compileDebugAidl :CordovaLib:compileDebugRenderscript :CordovaLib:generateDebugBuildConfig :CordovaLib:generateDebugAssets UP-TO-DATE :CordovaLib:mergeDebugAssets :CordovaLib:generateDebugResValues :CordovaLib:generateDebugResources :CordovaLib:packageDebugResources :CordovaLib:processDebugManifest :CordovaLib:processDebugResources :CordovaLib:generateDebugSources :CordovaLib:compileDebugJavaNote: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. :CordovaLib:processDebugJavaRes UP-TO-DATE :CordovaLib:packageDebugJar :CordovaLib:compileDebugNdk :CordovaLib:packageDebugJniLibs UP-TO-DATE :CordovaLib:packageDebugLocalJar UP-TO-DATE :CordovaLib:packageDebugRenderscript UP-TO-DATE :CordovaLib:bundleDebug :prepareOrgXwalkXwalk_core_library154438413Library :prepareArmv7ReleaseDependencies :compileArmv7ReleaseAidl :compileArmv7ReleaseRenderscript :generateArmv7ReleaseBuildConfig :generateArmv7ReleaseAssets UP-TO-DATE :mergeArmv7ReleaseAssets :createXwalkCommandLineFileArmv7Release :generateArmv7ReleaseResValues :generateArmv7ReleaseResources :mergeArmv7ReleaseResources :processArmv7ReleaseManifest :processArmv7ReleaseResources :generateArmv7ReleaseSources :compileArmv7ReleaseJava.../Picit/platforms/android/src/com/intel/xdk/notification/Notification.java:211: error: cannot find symbol notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); ^ symbol: method setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent) location: variable notification of type Notification .../Picit/platforms/android/src/com/intel/xdk/display/Display.java:127: error: cannot find symbol ViewGroup rootView = (ViewGroup)webView.getParent().getParent(); ^ symbol: method getParent() location: variable webView of type CordovaWebView .../Picit/platforms/android/src/com/intel/xdk/display/Display.java:129: error: cannot find symbol rootView.bringChildToFront((View)webView.getParent()); ^ symbol: method getParent() location: variable webView of type CordovaWebView .../Picit/platforms/android/src/com/intel/xdk/display/Display.java:133: error: cannot find symbol webView.bringToFront(); ^ symbol: method bringToFront() location: variable webView of type CordovaWebView .../Picit/platforms/android/src/com/intel/xdk/display/Display.java:134: error: cannot find symbol webView.setBackgroundColor(0x00000000); ^ symbol: method setBackgroundColor(int) location: variable webView of type CordovaWebView .../Picit/platforms/android/src/com/intel/xdk/display/Display.java:135: error: cannot find symbol LinearLayout ll = (LinearLayout)webView.getParent(); ^ symbol: method getParent() location: variable webView of type CordovaWebView Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 6 errors FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileArmv7ReleaseJava'. > Compilation failed; see the compiler error output for details.
I have tried changing my Cordova version (currently 5.4.1), turning off Crosswalk and even removing plugins that were legacy (and not needed). I checked the display XDK plugin (version 1.2.1) and the notification XDK plugin (version 1.2.1 as well) since these seemed to be indicated as part of the issue. Both are listed as compatible and both are necessary for my app. Neither has an updated version listed.
What further should I do to resolve this issue?
So removing the XDK display and notification plugins work? And what is it that you are using the XDK plugins for that you cannot get from a Cordova or third party plugin?
The Intel XDK ones are not actively maintained. We always encourage users to use their Cordova equivalents. The API calls might not be the same but you can get the same functionality. You will have to make some changes to the app.
I haven't tried that yet because that would entail redoing my app in a number of places. Since this works on IOS and since the plugins are not marked as deprecated, I did not want to attempt that step until it was the last resort. It will be quite frustrating to find out that Android is not supported on Cordova version 5.1.1 or 5.4.1 for those plugins when they are marked as compatible.
Isn't there anything else that I can try or do? Why would IOS work and not Android? Why would they be marked compatible if they aren't? Is everyone having this issue?
Timothy -- all of the intel.xdk plugins have been deprecated, see > https://software.intel.com/en-us/xdk/docs/intel-xdk-api-cordova-plugin-methods-properties-events < we have a few still in the plugin manager, but they will be going away soon. They are still available for use as third-party plugins from their git repo, but as Anusha said, they have been or will be retired and are not being maintained.