[Solved] Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode

This error usually is caused when a same library is referenced more than once in gradle build configurati

Cordova Build Error

Cordova Build Error

The solution is very simple we’ve to remove the plugin that is causing the conflict. Issue the below provided two commands one after other.

Change the current directory to the ionic project and then issue the below commands.

$ cordova plugin remove com.google.playservices // version 19
$ cordova plugin add com.google.playservices // version 21

Those command basically remove the conflicting plugin and then re-install it again. Somehow this fixes the issue but don’t know how this internally works perhaps configuration is re-written when plugin is added again.

Below references were used to solve this issue and you too might find them useful in case above command did not work for you.

REFERENCES:

  • http://stackoverflow.com/questions/22468700/unexpected-top-level-exception-com-android-dex-dexexception-multiple-dex-files
  • http://stackoverflow.com/questions/22958979/multiple-dex-files-define-lcom-google-ads-adrequesterrorcode-and-multiple-dex-f
  • https://github.com/floatinghotpot/cordova-plugin-admob/issues/196

Genymotion Dash
At First create a “genymotion.desktop” file in “usr/share/applications/” folder. Then copy and paste the below contents into “genymotion.desktop” file.

[Desktop Entry]
Encoding=UTF-8
Name=Genymotion Simulator
Comment=Android Simulator fast and reliable
GenericName=Genymotion Simulator
Exec=/usr/local/bin/genymotion
Terminal=false
Type=Application
Icon=/media/BACKUP/genymotion/icons/icon.png
Categories=Application;Network;Internet;
StartupWMClass=Genymotion
StartupNotify=true

In above file, I have created symbolic link to my genymotion in “/usr/local/bin/genymotion”. I have installed genymotion in “/media/BACKUP/genymotion/” thus my command to create symbolic link to genymotion is:

$ sudo ln -n "/media/BACKUP/genymotion/genymotion /usr/local/bin/genymotion"

Now, change the “Icon” to point to the icon.png file which is inside the genymotion folder.

If you have any confusions following this walkthrough. Please let me know in comments.

Thanks,

enable server

Fix Genymotion virtual devices start error

Recently I was doing some work on hybrid mobile app development. In past days I used windows for mobile app development particular Android Development with Android Studio on Android.

This time I was running Ubuntu and installed Genymotion. Created virtual devices and I encountered issue which reported that “Virtualbox was somehow unable to assign IP to virtual device” and always linked me to this Genymotion FAQ (https://www.genymotion.com/#!/support?chapter=collapse-nostart#faq). I tried every possible way to get rid of this problem. Tried solution given in the above page. After many failed attempts finally got the solution.

Solution:
1. Disable firewall (ufw)

$ sudo ufw disable
$ sudo service ufw stop 

2. Configure the Network Interface in vitualbox as shown in below screenhosts.
Host only networks

Configure Adapter - 1

Enable Server

Match your settings as shown in above screenshots. Save the settings and re-start the Genymotion virtual devices. Wait for few seconds and it should start to show up.

if you have any confusions drop your comments.

Thanks,

Access Jekyll server running inside vagrant box

By default Jekyll listens for request coming from localhost only.

We have to configure Jekyll to accept incoming requests outside of localhost.

Use command provided below to start Jekyll server :

$ Jekyll server --watch --host 0.0.0.0

The trick here is to use –host 0.0.0.0 which tell Jekyll to accept all incoming connections.

Hope this helps someone hours of headbanging.