The GoogleMap plugin that you recommended will not compile in PhoneGap:
This is the error that is reported by PhoneGap:
Error: Source path does not exist: icons/android/ldpi.png
at updatePathInternal (/cordova/node_modules/cordova-common/src/FileUpdater.js:145:19)
at /cordova/node_modules/cordova-common/src/FileUpdater.js:223:19
at Array.forEach (native)
at Object.updatePaths (/cordova/node_modules/cordova-common/src/FileUpdater.js:221:33)
at updateIcons (/cordova/lib/prepare.js:388:17)
at /cordova/lib/prepare.js:49:9
at _fulfilled (/cordova/node_modules/q/q.js:854:54)
at self.promiseDispatch.done (/cordova/node_modules/q/q.js:883:30)
at Promise.promise.promiseDispatch (/cordova/node_modules/q/q.js:816:13)
at /cordova/node_modules/q/q.js:624:44
This is the previous discussion thread about this error in NSB:
It may not have anything to do with GoogleMaps, per se, but the error appears only when I attempt to include the GoogleMaps plugin. Of course, the config.xml within AppStudio contains those icon references:
One other bit of information: The build.log shows an error:
(node:15580) UnhandledPromiseRejectionWarning: CordovaError: No platforms added to this project. Please use cordova platform add <platform>.
at Object.preProcessOptions (C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\util.js:312:15)
at C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\emulate.js:30:32
at _fulfilled (C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:787:54)
at self.promiseDispatch.done (C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:816:30)
at Promise.promise.promiseDispatch (C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:749:13)
at C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:810:14
at flush (C:\Users\Allan\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:695:11)
(node:15580) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:15580) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
As an experiment, I copied those two folders (icons & splash) to my project folder. It churned away on the compilation much longer this time, but ultimately returned an error (albeit, a different one);
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ‘:app:processDebugManifest’.
Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:tbxml-android:] /.gradle/caches/transforms-1/files-1.1/tbxml-android.aar/33b87c5bb1a881c8e05e2ce88e4785cd/AndroidManifest.xml as the library might be using APIs not available in 16
Suggestion: use a compatible library with a minSdk of at most 16,
or increase this project’s minSdk version to at least 19,
or use tools:overrideLibrary=“za.co.twyst” to force usage (may lead to runtime failures)
We’re trying to make this discussion board useful for others. To do so, topics need to discuss separate issues. We are no different than any other board in this - they all have similar requirements.
PhoneGap is not a product of our company. We’re limited in how much support we can provide for it, especially for free. We have no control over how they design and support it. A lot of the pain you have been experiencing has nothing to do with AppStudio - it’s recent changes to PhoneGap.
I know that PhoneGap is separate, but in this case it’s the only way to get a Google Map to work. NSB places heavy dependency on plugins (including PhoneGap) to achieve its promised functionalities. It’s part of the charm of AppStudio, but also its weakness. They are intertwined. I would have loved to use your native Google Map, but it isn’t compatible with anything that has been compiled with PhoneGap
You’re right; it’s essential to keep topics within their own threads. In this case, the topic has evolved as a progression of where the original problem (not being able to use your Google Map with PhoneGap compilation) has led. It has been a path. First, PhoneGap wasn’t recognizing a variable, then not having a path satisfied, because of missing folders (icons and splash). If there is a document about folder requirement, I haven’t found it. After taking care of that, I came to where I am now: A minSDK version problem, for which there is no apparent documentation, or property in NSB. You have a very nice programming environment, but I have come to find that dependence on PhoneGap is a mixed blessing. Thanks for your reply.