6 Replies Latest reply on Feb 1, 2013 2:10 PM by Peter Arcuri

    How to include the library in shared mode in windows mobile platform?

      Right now I am trying to build an windows mobile in shared mode. But I found the application I build in shared mode is not working on the device.

      When I look at the application in details, I found inside my app folder, there are only app folder and public folder, there is no lib folder which provided in non-shared mode.

       

      Since I use many libraries, such as zlib, and I created my own extension uuid-tools, but I found they are not in the application folder.

       

      That could explain why my app does not working anymore.

       

      Is there any way to include the 3rd party library  to the app in shared mode?

       

      Thanks

       

      Steve

        • Re: How to include the library in shared mode in windows mobile platform?
          Peter Arcuri

          I followed the instructions in docs.rhomobile and was able to decouple the application from webkit.

          http://docs.rhomobile.com/rhoelements/rhoelements2-native

          This allows you to package your app without webkit, hence reducing the footprint significantly.

           

          Have you included the following to your build.yml file?

           

          wm:

            use_shared_runtime: yes

           

          Also, was the RhoElements shared runtime installed on the device?

           

          For your 3rd party libraries, you may want to house them in the public folder. Alternatively, they could package  them up and deployed as a separate .cab file and put in the designated folder(s).

            • Re: How to include the library in shared mode in windows mobile platform?

              Hi, Peter,

              I did the same thing you did:

               

              1. I installed the latest version of RhoElement cab file in the windows mobile device;

              2. I added the "use_shared_runtime:yes" in build.yml

               

              The thing is I found not only the 3rd party libraries, but also my extension, and Rhodes extensions are all gone, for example, we use zlib, and specify it in the build.yml,

              but it is not in my application folder.  Anyway there is a \lib folder in the application when you build as non-shared mode, but it is gone when you build the app as shared mode.

               

              I don't know how to deal with it.

                • Re: How to include the library in shared mode in windows mobile platform?
                  Peter Arcuri

                  It appears as the /lib folder is part of the RhoE shared runtime install and not the app, therefore containing only standard libraries and hence missing your 3rd party libs. My thought here is to re-build a RhoE shared runtime that includes the extensions as per buld.yml.

                   

                  Let me do some more digging.

                    • Re: How to include the library in shared mode in windows mobile platform?
                      Peter Arcuri

                      Here is what I found: extension libraries are loaded and deployed along with the RhoE shared runtime. As suspected, in order to incorporate extensions into the underlying runtime a new runtime needs to be created. The project for this ships with RhoStudio... Can be located here: "D:\MotorolaRhoMobileSuite2.2.1.12\RhoElements2"

                       

                      Once the project is loaded and setup in your workspace proceed with viewing the Buiid.yml file. Here are several relevant steps to do:

                      • Under wm: point to the proper sdk:
                      • Add your specific extensions:
                      • Its important NOT to change the project name... leave as "name: RhoElements". This will ensure it gets install in the proper folder structure your application will look in.
                      • Don't forget to add physical folders containing 3rd libraries into the project

                       

                      This should build a RhoE shared runtime including your extensions to support the application.

                       

                      Hope this proves to be helpful.