Deploy your ADF Mobile App to a virtual Android device from JDeveloper IDE

If you tired from the android emulator speed you may have read Chris Muir’s article ADF Mobile: Avoiding the Android Emulator with AndroVM.

In the meantime the successor of AndroVM is GENYMOTION.

If you have configured the port forwarding section from the AndroVM or use GENYMOTION, then you have to deploy your ADF Mobile app first to apk-File and manually install this into to the virtual android image via the android sdk command adb. The virtual Android device must be started to do this.

To do the last step from JDeveloper IDE directly with 1 click following steps help to reach this:

  1. Convention over configuration: Name all of your deployment profiles for android with the same name, eg. all adf mobile samples use the name “ANDROID_MOBILE_NATIVE_archive1″
  2. Create in JDeveloper an external tool
    1. Select from the menu Tools -> External Tools … -> New
    2. Select Tool Type: External Program

    3. Select Program Executable: adb.exe from your Android SDK
      Enter Arguments: install ${workspace.dir}\deploy\ANDROID_MOBILE_NATIVE_archive1\${file.name.no.ext}.apk

    4. Enter Caption for Menu Items, eg.: Install apk file to virtual Android device

    5. Select Add Items to Menus: Navigator Context Menu

    6. Select Enabled When Specific File Types are selected: Application

Now you first deploy your Application to an Android package:

Then you can install this via application context menu directly to your virtual android devive:

Now you can test your app in the virtual Android device:

That’s it!

Chrysanth WebStory Published by WebStory
About these ads

, , , , ,

  1. #1 by minsoo jo on September 21, 2013 - 12:26

    I guess if you set up your vm network as NAT and port forwarding enabled.. you can directly install your apk to the emulator vm without this step. see the comments in https://blogs.oracle.com/onesizedoesntfitall/entry/adf_mobile_avoiding_the_android

    • #2 by Torsten Kleiber on September 21, 2013 - 17:27

      For GENYMOTION that is true, for AndroVM I had to set up NAT and port forwarding.

  2. #3 by Don Safar on October 3, 2013 - 16:50

    When I get to step 5 of creating the external tool (When Specific File Types are Selected), “Application” is not an option that I have to select from. I’m running Studio Edition Version 11.1.2.4.0

    • #4 by Torsten Kleiber on October 7, 2013 - 19:19

      Sometimes this is listed as “Java Workspace” instead. Don’t know why and when this display changes.

  3. #5 by Nga on October 30, 2013 - 07:23

    Hi Torsten,

    I followed all steps in your article. All is OK, except when I click my app icon in virtual Android device, the red screen with ORACLE text and loading icon keeps running for hours. Do you have any idea why this happened?

    Thanks,
    Nga

    • #6 by Torsten Kleiber on October 30, 2013 - 08:06

      Do you use AndroVM or GENYMOTION? GENYMOTION was faster on my side!
      Do you have tested with the device demo application from the adf mobile samples? This demo does not need a connection to database or web, so it is a good start for testing this.
      So additional my GENYMOTION runs on a SSD, maybe a slow harddisk can be the root cause too.

      • #7 by Nga on October 30, 2013 - 10:01

        My app is just a Hello World Application. I run it with android emulator and it is ok. But I found android emulator slow, so I switch to GENYMOTION. [the red screen with ORACLE text and loading icon keeps running for hours] ->this is the problem I met when run the app from GENYMOTION.

      • #8 by Torsten Kleiber on October 30, 2013 - 10:17

        What means Hello World Application?

        Does your app tries to access web services? If yes, can you access the webservice wsdl via the device browser?

        Have you allowed the access of the application to the GENIMOTION device? At my devices comes an security dialog.

        Which GENIMOTION device you downloaded for testing? Is the used android mobile api in JDeveloper lower or the same as in the device?

        Please try the device demo first.

  4. #9 by Aunn on December 7, 2013 - 16:09

    I’ve tried simple demo applciation, which contained a .amx page with a textfield only, i get a error on opening that page :”Failed to initialize Adfc Context:{classname: oracle.adfmf.framework.api.Model; method: pushPageFlowScope; Params: ;}”
    have also tried different complete demo app but still got the same error in the androVM but works fine in the emulator.

  5. #10 by geetha on February 21, 2014 - 09:50

    Then you can install this via application context menu directly to your virtual android devive. This step is not working. I could not see the “Install apk for virtual android device” either on context menu or on the Tool. Please help.

    • #11 by Torsten Kleiber on February 21, 2014 - 18:48

      To ensure that this works, plaease double check following steps:

      1. Step 4 and 5 of the external tool wizard, which adds the menu (see the screnshots)
      2. Rigt mouse click with mouse cursor on your JDeveloper Application, only there the menu is visible

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 57 other followers