Wednesday Feb 05, 2014

How to solve "apapt.exe file missing" error when uprading ADF Mobile

Investigating the issue in which a missing aapt.exe file is reported by JDeveloper after upgrading to the latest ADF Mobile patch I found a bug that fixes a previous problem which was that Google moved the executable file. As a response ADF Mobile now looks in the Android build path for the executable and also allows you to select the build tools location in the ADF Mobile preferences if the executable cannot be found by JDeveloper. If you are on an old version of the Android SDK that does have the aapt.exe file in its original location (the one before Google moved it) you will see the error mentioned in the title of this post.

 You can then use the ADF Mobile preferences to search for the build tool, or in addition, use it as a reminder to launch the Android SDK Manager and upgrade to a recent version of the SDK.


Monday Feb 03, 2014

Setting-up ADF Mobile for Android using JDeveloper with the latest ADF Mobile patch

Installing the latest ADF Mobile patch for JDeveloper prevented deployment of mobile applications with some weird error messages. I concluded that its probably my Android SDK that needed renewal. To go for a clean approach, I deleted my Android SDK and downloaded the latest and greatest from the Web. Since my last SDK installation, Google has changed the Android directory structure quite a bit. For those struggling, here is what I configured in the Android SDK and JDeveloper.

 First observation, to install the gcm.jar file (Google Cloud Messaging) you have to check the "Obsolete" checkbox in the SDK Manager.


In the JDeveloper preferences, I provided the following entries


Adroid SDK location

Android Platform Location

Android Build Tools Location
<drive>:\android-home\sdk\build-tools\19.0.1  (I installed v. 19 of the SDK)

The "<drive>" in my case was D:\ on Windows (funny that on the Apple Mac, which I use for writing this blog the backslash is shift+alt+7)


Friday Dec 20, 2013

To German Customers: Get Trainined on ADF Mobile

To all German Customers! Oracle Germany runs two free-of-charge ADF Mobile single day workshops in Munich (Feb. 4th) and Frankfurt (Feb. 6th)


09:30    Registrierung          
10:00    Beginn: Vorstellung Agenda und Workshop   
11:00    Übungen Teil 1 - ADF Anwendung erstellen und deployen          
12:00    Mittagspause mit Mittagessen          
13:00    Übungen Teil 2 - ADF Mobile Anwendung erweitern, deployen, testen          
15:00    Kaffeepause          
15:30    Übungen Teil 3 - ADF Mobile - Webservice konsumieren          
16:30    Wrap up          
17:00    Ende Workshop

 Presenter: Jürgen Menge    Bernhard Fischer-Wasels

Registration for Frankfurt:,P111_KATEGORIE,P111_URL:1401,ADFMOBILE,

Registration for Munich,P111_KATEGORIE,P111_URL:1421,ADFMOBILE,

Please register today. There is no better way to get mobile than ADF Mobile. 


Monday Sep 09, 2013

ADF Mobile Deployment Problem to Google Play

Joe Huang from ADF Mobile Product Management answered a question on OTN regarding changes in Google Play that cause ADF mobile applications to fail deployment if accessed from a tablet. The OTN question and answer is referenced from this link:

However, Joe went the extra mile and wrote  a blog summary of what happened at Google Play and how you can fix this for current ADF Mobile applications (up to version, as I expect a fix to be added to any future versions of ADF Mobile):


Thursday Jul 18, 2013

Free EMEA ADF and ADF Mobile 2-day workshop for beginners

We offer free 2 days hands-on ADF & ADF mobile workshops for Oracle partners who want to become ADF Specialized.

Oracle Application Development Framework (ADF) is the standards based, strategic framework powering Oracle Fusion Middleware and Oracle Fusion Applications. From desktop, to Web, to mobile, we′ll introduce you to the development platform Oracle is using for its Fusion enterprise applications, discuss its architecture and offer hands-on experience on how to get up to speed with it.

Highlights of the Workshop

  • Oracle Fusion Middleware Development Platform
  • Developing Reusable Business Service
  • Developing Rich Web User Interface and Portals
  • Developing Mobile Apps for iOS and Android with Oracle ADF Mobile

Target Audience

  • Developers, Project Managers,Architects
  • ADF beginners
Quotes from previous Bootcamps
  • ″Oracle trainings are the best″
    Pedro Neto Novabas
  • ″Excellent training, well organized″
    Pedro Antunh, Capgemini
  • ″This course dives you into Oracle WebLogic giving you a quick start on benefiting from Fusion Apps″
    Leonardo Fernandes, Outsystems

Read more and register!

Wednesday May 15, 2013

Table Pagination with JDeveloper

One of the new features listed for JDeveloper is pagination for tables, a frequently requested and long awaited feature ( The tag documentation about this feature states that to switch pagination on you simply set the scrollPolicy property to page.Truth to be told, there is a little bit more for you to do.

1. You need to set the autoHeightRows property to 0

2. You need to make sure the surrounding container provides a floating layout and doe not stretch (e.g. using a panelGroupLayout)

3. To bring the table into shape (full width) you then set styleClass="AFStretchWidth"

All changes at a glance:

scrollPolicy="page"  autoHeightRows="0" styleClass="AFStretchWidth"

Once you did this, the table renders as shown in the image below.

ADF table

Wednesday Jan 23, 2013

How-to programmatically display a popup message

For an ADF mobile sample I needed to display a confirmation message upon successful upload of an image. Because I could not see how to do this from Java using the ADF Mobile popup dialog, I used JavaScript. The JavaScript function I called is part of PhoneGap, which is neat because this ensures I don't have to maintain custom JavaSCript code in my AMX page.  To call the PhoneGap notification dialog, I  added

20-October 2013: important. Since I've written this sample, the libraries have been changed from PhoneGap to Cordova. Make sure the script below is changed to the Cordova JS (!!!)

Script sample

to the AMX page. I added this script tag to the body section of  the amx:panelPage component tag. Note that the relative addressing /../.../.../ in the JS reference is for AMX pages that are in the public_html folder. If your page is in a sub folder, you will need to add an extra "/.." for each folder

In my Java bean, which I called from a method binding, I used the ADF Mobile AdfmfContainerUtilities.invokeContainerJavaScriptFunction(...) call to invoke the PhoneGap "navigator.notification.alert" function

navigator.notification.alert(message, alertCallback, [title], [buttonName])


The Java call is shown below:

            new Object[] {"Image uploaded: \n " +
            "File Name: "+fileName+"\n File Type: "+fileType,"",
            "Image Uploaded to Server", "Ok"});

Note the use of the object array to pass multiple arguments to the JavaScript function. The "" string is the ADF Mobile feature Id of the feature that contains the AMX page with the JavaScript reference.

The result is shown in the image below:

PhoneGap dialog displayed in ADF Mobile

Using the same technique you can call any other PhoneGap JavaScript function from ADF Mobile (and your custom JavaScripts as well)
See also:


A blog on Oracle JDeveloper, ADF, MAF, MCS and other mobile and web topics inspired by questions and answers posted on the OTN forums.

Frank Nimphius


« July 2016