androidibm-mobilefirsthybrid-mobile-appworklight-server

IBM MobileFirst direct update failure


I am using IBM MobileFirst 7.0 for creating a hybrid app. We recently deployed the .wlapp file for android without changing the previous app version. On successful deployment, when I run the app, I get the the following alert message -

"Newer web resources are available. Would you like to download them now?(file size is 86KB)"

On clicking the update button, the unpacking progress bar appears and fills up. But at the end of it I get the message- "Update failed. Direct update failure."

I have tried updating the app on mobile internet and WiFi but the issue still persists.Previously the direct update feature was working fine.

Logcat logs:

06-17 18:44:14.099: D/dalvikvm(17948): GC_FOR_ALLOC freed 485K, 62% free 4275K/11180K, paused 14ms, total 18ms

06-17 18:44:14.109: D/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): WLDirectUpdateDownloader.downloadZipFile in WLDirectUpdateDownloader.java:143 :: 7772 bytes are already available. 

06-17 18:44:14.149: D/dalvikvm(17948): GC_FOR_ALLOC freed 553K, 63% free 4218K/11180K, paused 10ms, total 10ms

06-17 18:44:14.149: W/HardwareRenderer(17948): Attempting to initialize hardware acceleration outside of the main thread, aborting

06-17 18:44:14.159: W/PluginManager(17948): THREAD WARNING: exec() call to WLDirectUpdatePlugin.showProgressDialog blocked the main thread for 95ms. Plugin should use CordovaInterface.getThreadPool().

06-17 18:44:14.219: I/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): WLDirectUpdateDownloader.validateZipFileIntegrity in WLDirectUpdateDownloader.java:113 :: Direct update authenticity public key not provided, direct update authenticity check disabled

06-17 18:44:14.229: D/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): WLDirectUpdateDownloader.extractZipFile in WLDirectUpdateDownloader.java:265 :: Start copy files to local storage from updated zip file...

06-17 18:44:14.229: D/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): WLDirectUpdateDownloader.extractZipFile in WLDirectUpdateDownloader.java:266 :: Size of zip file is 7772

06-17 18:44:14.459: D/dalvikvm(17948): GC_FOR_ALLOC freed 443K, 62% free 4280K/11180K, paused 15ms, total 15ms

06-17 18:44:14.459: D/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): WLDirectUpdateDownloader.handleDeltaUpdate in WLDirectUpdateDownloader.java:392 :: Differential Direct Update - delta package detected

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): WLDirectUpdateDownloader.handleDeltaUpdate in WLDirectUpdateDownloader.java:410 :: Can't copy web resources:

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): java.io.FileNotFoundException: www/default/index.html~

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at android.content.res.AssetManager.openAsset(Native Method)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at android.content.res.AssetManager.open(AssetManager.java:316)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at android.content.res.AssetManager.open(AssetManager.java:290)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at com.worklight.androidgap.directupdate.WLDirectUpdateDownloader.copyListFromAssets(WLDirectUpdateDownloader.java:472)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at com.worklight.androidgap.directupdate.WLDirectUpdateDownloader.handleDeltaUpdate(WLDirectUpdateDownloader.java:406)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at com.worklight.androidgap.directupdate.WLDirectUpdateDownloader.extractZipFile(WLDirectUpdateDownloader.java:352)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at com.worklight.androidgap.directupdate.WLDirectUpdateDownloader.startDirectUpdate(WLDirectUpdateDownloader.java:96)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at com.worklight.androidgap.directupdate.WLDirectUpdateDownloader.doInBackground(WLDirectUpdateDownloader.java:83)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at com.worklight.androidgap.directupdate.WLDirectUpdateDownloader.doInBackground(WLDirectUpdateDownloader.java:49)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at android.os.AsyncTask$2.call(AsyncTask.java:288)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at java.util.concurrent.FutureTask.run(FutureTask.java:237)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)

06-17 18:44:14.489: E/com.worklight.androidgap.directupdate.WLDirectUpdateDownloader(17948): at java.lang.Thread.run(Thread.java:841)

06-17 18:44:15.499: W/PluginManager(17948): THREAD WARNING: exec() call to WLDirectUpdatePlugin.hideProgressDialog blocked the main thread for 1007ms. Plugin should use CordovaInterface.getThreadPool().

Solution

  • The recommendation is to update to the latest available patch level (iFix) from IBM Fix Central, and re-build the application (make sure to first up the version in the descriptor.xml and release a new version to the app stores, to account for changes in the native resources of the application).