Port already Using Error in Android I have an android application which is running on Huawei S7,Android 2.2. It is getting inputs from an arduino board.Arduino Board is connected to the tablet by USB cable.Application is using USB Protocol to connect to arduino.

The application is written for Android 4.1.And it is using a backward compatibility pack to make it runnable on 2.2. We had to use a 2.2 device.But now we have a device with Android 4.3. And when we try to run the same app in 4.3 device it gives an error saying 4567 port already in use. 4567 port is the port used by arduino application to connect with the Android Device(Tablet Application).

How can i find the application which is using the 4567 port?

Is there any way i can free up that port?

My 4.3 device is not rooted. Will rooting do any good in this problem?
Without any additional tools, this should be possible via adb shell or a terminal app, using the netstat command: netstat --tcp --listening -p should list up all listening ports along with the app behind it. But it might very well be (as in your case, obviously) that the -p parameter requires root; and without it, the output won't show the app holding the port open.

However, NetStat Plus might offer what you need:

 
NetStat Plus and Connection List (source: Google Play; click for larger image)

I did not try this app myself, but the screenshots suggest it does exactly what you need: Listing apps with the used ports and status along. No word that it requires root. It further seems to work at least from Gingerbread (2.3.6 is explicitly mentioned) onwards to at least Jelly Bean 4.3 (also explicitly mentioned). An alternative would be Connection List (second screenshot).