facebook

Issues with PhoneGap tooling in 2015 CI

  1. MyEclipse IDE > Mobile Tooling
Viewing 15 posts - 1 through 15 (of 25 total)
  • Author
    Posts
  • #349937 Reply

    support-swapna
    Moderator

    (extracted from: https://www.genuitec.com/forums/topic/myeclipse-2015-early-access/#post-349929)

    – chrome was missing, of course. i only noticed it when i hit the preview simulator button. maybe it would be nice to have that information earlier

    – android development toolkit was missing, so I installed it with the ME installer. Problem was that the Phonegap build didn’t work afterwards because it was missing the path to the adt. It wasn’t configured automatically. I tried to configure it, but the problem was that I couldn’t find the install location. So I had to do a full hard disk search only to find it in c:\users\<username>\android-sdks

    – I didn’t know what the Phonegap project wizard would create, because the simulator didn’t work. The error when trying to preview the phonegap application was: start page is not found in this phonegap application. But the file seemed to be there, I had a www\index.html file which the phonegap project setup wizard created

    – so I tried to include a jQuery page. Setup was more obvious in ME2014, now all the HTML stuff is deprecated. I had to install an HTML5 facet, a mechanism on which I stumbled upon by accident. It shouldn’t be an accident, it should be more obvious. By the way, the jQuery Mobile version you install is outdated.

    – the preview of the Phonegap application still didn’t work, but I tried to build the adk nonetheless. That worked. The adk was created, but after the build I got this dialog: “errors occurred during the build. errors running builder ‘Phonegap Project Builder’ on project ‘PhoneGap1’. java.lang.NullPointerException” with no additional information. However, when I installed the adk on my mobile device, it worked.

    #349951 Reply

    Brian Fernandes
    Moderator

    – chrome was missing, of course. i only noticed it when i hit the preview simulator button. maybe it would be nice to have that information earlier

    I agree, having it appear at the time you want to preview can be a bit surprising, but unsure where else to put it other than perhaps as a notice during project creation. Do you have a better suggestion?

    – android development toolkit was missing, so I installed it with the ME installer. Problem was that the Phonegap build didn’t work afterwards because it was missing the path to the adt. It wasn’t configured automatically. I tried to configure it, but the problem was that I couldn’t find the install location. So I had to do a full hard disk search only to find it in c:\users\<username>\android-sdks

    We’ll look at whether some registry entries can be used to detect the location, otherwise I’m afraid this will still have to be manual. We wouldn’t want to re-distribute the ADK, of course.

    – I didn’t know what the Phonegap project wizard would create, because the simulator didn’t work. The error when trying to preview the phonegap application was: start page is not found in this phonegap application. But the file seemed to be there, I had a www\index.html file which the phonegap project setup wizard created

    You currently need to run a local build before the preview. This is a bug, we’ll be fixing it so that the preview can work without a local build in our very next release. Sorry about that.

    – so I tried to include a jQuery page. Setup was more obvious in ME2014, now all the HTML stuff is deprecated. I had to install an HTML5 facet, a mechanism on which I stumbled upon by accident. It shouldn’t be an accident, it should be more obvious. By the way, the jQuery Mobile version you install is outdated.

    We’ll be re-adding templates and jQuery as required to the PG project creation, and we’ll look at the right version of jQM as well.

    adk was created, but after the build I got this dialog: “errors occurred during the build. errors running builder ‘Phonegap Project Builder’ on project ‘PhoneGap1’. java.lang.NullPointerException” with no additional information.

    Could you check your error log for a stack trace? Is it easy for you to reproduce this?

    Thanks very much for the detailed writeup, we’ll try to address as many of these issues as possible before the next CI release.

    #350079 Reply

    Brandon
    Member

    Hi, I saw that the reply to the issue “Start page is not found in this Phonegap Appllicaton”.

    Do you have an estimated delivery for fixing this bug?

    What about deploying to the device. Previously, in 2014, we would get a link which we could easily use to deploy on device (really nice for developing on Windows for iOS).

    Thanks

    #350108 Reply

    Brian Fernandes
    Moderator

    Hi, I saw that the reply to the issue “Start page is not found in this Phonegap Appllicaton”.

    Do you have an estimated delivery for fixing this bug?

    The fix is in the works right now, we’re looking at being able to release it at the end of next week.

    What about deploying to the device. Previously, in 2014, we would get a link which we could easily use to deploy on device (really nice for developing on Windows for iOS).

    We are looking into this actively and will keep you posted.

    #350147 Reply

    Brandon
    Member

    Does this mean that we don’t have a way to deploy the app onto a physical device for on device testing?

    I can’t help but feel that this release was a step back on the mobile tooling front. At first glance it seemed like a great leap forward, with the integration of phonegap build and all of its available 3rd party plugins. But in reality, I am not able to even test the application in the Emulator without configuring SDKs nor can I deploy the app to my device… or am I missing something?

    #350148 Reply

    Brian Fernandes
    Moderator

    But in reality, I am not able to even test the application in the Emulator without configuring SDKs nor can I deploy the app to my device… or am I missing something?

    This is a bug in the first CI release. With the release we have planned for the end of this week (July 11), the simulator will work without requiring a local build (and thus, no SDKs required).

    As far as the physical device is concerned, I’ll be able to provide more clarity later this week.

    Note that the solution we had previously bound you building with our server (which was fixed to the older version of Cordova, 2.x) – with this you can move to whatever version of Cordova you need (through PhoneGap of course) even if it hadn’t been distributed by us – for instance, though we ship PhoneGap 3.3, you could download and use PhoneGap 3.5 with the same tooling as well, by configuring this on the PhoneGap preference page.

    Thank you for trying the CI release and thank you for asking.

    #350297 Reply

    Brandon
    Member

    I’ve checked today and there is no update for ME 2015, meaning I am still getting the error about deploying the app for test in the emulator. Any update on a fix for this?

    You mentioned in your last post that you should have some additional info to share regarding on device testing. Is there an update here as well?

    Thanks.

    #350299 Reply

    Brandon
    Member

    Due to the problems mentioned above, I have installed the Android SDK in order to do a local build to be able to test on the emulator.

    I’ve set the location to the android SDK location (C:\Users\…\AppData\Local\Android\android-sdk\)

    I have configured the build settings including the signing certificate & keys.

    When I intiate the build, I get the following error

    Build of kitchenSink started for android
    detecting Android SDK environment…
    using the local environment
    adding the Android platform…
    An error occured during creation of android sub-project.

    C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:126
    throw e;
    ^
    Error: Please install Android target 19 (the Android newest SDK). Make sure you have the latest Android tools installed as well. Run “android” from your command-line to install/update any missing SDKs or tools.
    at C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\lib\check_reqs.js:80:29
    at _fulfilled (C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:798:54)
    at self.promiseDispatch.done (C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:827:30)
    at Promise.promise.promiseDispatch (C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:760:13)
    at C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:574:44
    at flush (C:\Users\…\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:108:17)
    at process._tickCallback (node.js:415:13)

    I’ve installed target 19 and above (see attached document).

    Have I missed something else that needs to be configured?

    Attachments:
    You must be logged in to view attached files.
    #350302 Reply

    Brandon
    Member

    I saw that there is an API 19 that was not installed. I installed that and the build was successful. Now I am able to build locally and test in the emulator. Now, to try to get it to work on OSx.

    An update on the status of the deploy to device would be appreciated still.

    Thanks

    #350303 Reply

    Brian Fernandes
    Moderator

    Brandon,

    1) We do have the local build problem fixed (so the simulator no longer requires this) but we’re pushing the release out to Monday to pick up a couple of additional fixes from other CI stream testers.Sorry for the delay.

    2) As far as getting the application to the device is concerned, we’re in a planning stage right now and looking at the pros / cons of various options available to us. All I can say right now is that we are 100% committed to providing this functionality in MyEclipse.

    A question I have asked others – would a solution that requires you to have your device tethered to the computer in debug mode be acceptable? Or are you looking for a different experience?

    3) I’ll get someone from our mobile team to look at the local build problem you’re experiencing; installing version 19 should fix the problem.

    #350305 Reply

    Brandon
    Member

    Hi Brian,

    Thanks for the update. I’ve installed the API 19 which resolved the local build issue.

    A tethered approach would be ok. I really liked the approach used in the earlier Mobile Tools, to install from a link send in an email. The important thing is that it is simple and doesn’t break the workflow and require additional tools and works with both Android and iOS.

    One more question, in order to test, is a new build of the app always required or is there some way to do a hot-deploy?

    #350314 Reply

    Brandon
    Member

    I have moved on to try to build on my MAC and here are the issues that I am facing. I hope you can help me to resolve them:

    I’ve created a “Test” app that has not changed since it was generated by ME2015. I created a new provisioning file for this app and have configured the build settings (local).

    After executing the build, the console says OK (no error or exception), but a strange error message is shown in the lower right hand corner of the app.

    See screenshot attached.

    On a different app, which I have modified and added an additional plugin “BarcodeScanner” I get a similar error but here I get a message in the console:

    Build of scan started for ios
    detecting iOS SDK environment…
    using the local environment
    compiling iOS…
    mv: dest file already exists: /Users/Brandon/Documents/workspace/ME2015/scan/platforms/ios/scan/Scan-Info.plist

    mv: dest file already exists: /Users/Brandon/Documents/workspace/ME2015/scan/platforms/ios/scan/Scan-Prefix.pch

    shell.js: internal error
    Error: EINVAL, invalid argument ‘/Users/Brandon/Documents/workspace/ME2015/scan/platforms/ios/scan.xcodeproj’
    at Object.fs.renameSync (fs.js:543:18)
    at /Users/Brandon/.myeclipse/phonegap/com.genuitec.eclipse.mobile.embedded.phonegap_3.3.0/macosx-me20140512-1457/node_modules/phonegap/node_modules/cordova/node_modules/shelljs/shell.js:487:8
    at Array.forEach (native)
    at Object._mv (/Users/Brandon/.myeclipse/phonegap/com.genuitec.eclipse.mobile.embedded.phonegap_3.3.0/macosx-me20140512-1457/node_modules/phonegap/node_modules/cordova/node_modules/shelljs/shell.js:463:11)
    at Object.mv (/Users/Brandon/.myeclipse/phonegap/com.genuitec.eclipse.mobile.embedded.phonegap_3.3.0/macosx-me20140512-1457/node_modules/phonegap/node_modules/cordova/node_modules/shelljs/shell.js:1471:23)
    at pbxProject.<anonymous> (/Users/Brandon/.myeclipse/phonegap/com.genuitec.eclipse.mobile.embedded.phonegap_3.3.0/macosx-me20140512-1457/node_modules/phonegap/node_modules/cordova/src/metadata/ios_parser.js:131:27)
    at pbxProject.EventEmitter.emit (events.js:98:17)
    at pbxProject.<anonymous> (/Users/Brandon/.myeclipse/phonegap/com.genuitec.eclipse.mobile.embedded.phonegap_3.3.0/macosx-me20140512-1457/node_modules/phonegap/node_modules/cordova/node_modules/xcode/lib/pbxProject.js:30:18)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at handleMessage (child_process.js:318:10)

    And the error message in the box in the lower right hand corner says “Command execution failed with code 1”

    Building this on Windows with Android works fine.

    Attachments:
    You must be logged in to view attached files.
    #350343 Reply

    Brandon
    Member

    I’ve gotten the build on my MAC working with a simple non-altered version of app with on additional plugin installed from GIT. The issue above was due to my certificate & private key.

    Once the app is built, I can add it to iTunes by clicking the link “Show in Finder”.

    I’ve tried to install it to my iPhone from iTunes, but it stops 3/4 of the way through. I’ve tried the following to solve, but no luck this far:

    – Add the phonegap version to the config.xml
    – Removed and then added my phone in the apple developer console being sure to use the UDID shown on the xCode device organizer for my iphone
    – Tried using development provisioning and adhoc distribution with both developer cert and distribution cert

    Here are the logs from my phone while trying to install:

    Jul 12 15:48:30 Brandons-iPhone installd[950] <Notice>: 0x343000 handle_install_for_ls: Install of “/var/mobile/Media/PublicStaging/test2.id.ipa” requested by atc
    Jul 12 15:48:30 Brandons-iPhone installd[950] <Notice>: 0x343000 MobileInstallationInstall_Server: Installing app test2.id
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Warning>: [ML3MusicLibrary] compacting artwork
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Warning>: [ML3MusicLibrary] removing 0 artwork cache ids no longer used
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Warning>: [VoiceMemosSyncClient][Orphan-Recovery] (post-sync, no new synced assets) checking for orphaned recordings.
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Warning>: [VoiceMemosSyncClient][Orphan-Recovery] (post-sync, no new synced assets) done.
    Jul 12 15:48:30 Brandons-iPhone mobile_assertion_agent[1035] <Notice>: service_one_connection: Connection closed for client iTunes.
    Jul 12 15:48:30 Brandons-iPhone installd[950] <Error>: 0x343000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.Bkvmlb/foo_extracted/Payload/Test2.app/Test2: 0xe8008019
    Jul 12 15:48:30 Brandons-iPhone installd[950] <Error>: 0x343000 do_preflight_verification: Could not verify executable at /var/tmp/install_staging.Bkvmlb/foo_extracted/Payload/Test2.app
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Error>: 0x1cf5000 MobileInstallationInstallForLaunchServices: failed with -1
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Warning>: ERROR: MobileInstallationInstallForLaunchServices returned nil
    Jul 12 15:48:30 Brandons-iPhone lsd[946] <Warning>: LaunchServices: installation failed for app test2.id
    Jul 12 15:48:30 Brandons-iPhone installd[950] <Error>: 0x343000 install_application: Could not preflight application install
    Jul 12 15:48:30 Brandons-iPhone atc[1349] <Warning>: LaunchServices: installPhaseFinishedForProgress: test2.id.Installing – <NSProgress: phase=Installing; state=Failed; fractionCompleted=0.000000> called, removing progress from cache
    Jul 12 15:48:30 Brandons-iPhone installd[950] <Error>: 0x343000 handle_install_for_ls: API failed

    Finally, I execute this command “codesign –verify -vvvv” on the ipa and the result is:

    brandons-mbp:bin Brandon$ codesign –verify -vvvv com.hefferan.reorder.ipa
    com.hefferan.reorder.ipa: code object is not signed at all
    brandons-mbp:bin Brandon$

    Using the old build system from myeclipse 2014 and the same certificates I am able to install on my device without issue.

    Any suggestions?

    #350370 Reply

    Brian Fernandes
    Moderator

    Brandon,

    We think this could be a problem with the signing or the provisioning profile. Can you confirm that the profile used includes the target device?

    One suggestion, on verification of the ipa, verifying the ipa file is not right as it is merely the archive. What you need to do is unzip and run the verifier on the actual .app folder, which, I believe, should be within the Payload folder. Can you check if this reports back okay?

    #350378 Reply

    Brandon
    Member

    Hi Brian,

    I used the same adhoc provisioning file and distribution cert just now with MyEclipse 2014 to build and install a test app on my device – so I guess it is set up correctly.

    Here are the results of the verify command:

    brandons-mbp:Payload Brandon$ codesign –verify -vvvv Reorder.app
    Reorder.app: valid on disk
    Reorder.app: satisfies its Designated Requirement

Viewing 15 posts - 1 through 15 (of 25 total)
Reply To: Issues with PhoneGap tooling in 2015 CI

You must be logged in to post in the forum log in