@danandpara you are wrong. look into Appium adb logs what happens. can you say what command does reinstall?
example of logs (Normal start in mine example) where we see that Appium is checking that app is installed:
2017-04-27 10:06:48:700 - [debug] [ADB] Running '/Users/Aleksei/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","LGH8155e9892e6","shell","ls","/data/local/tmp/c2befbb807e24541eb3b9e16b604bd37.apk"]
2017-04-27 10:06:48:761 - [debug] [AndroidDriver] Checking if app is installed
2017-04-27 10:06:48:761 - [debug] [ADB] Getting install status for xx.xxxx.xxxx
2017-04-27 10:06:48:761 - [debug] [ADB] Getting connected devices...
2017-04-27 10:06:48:776 - [debug] [ADB] 1 device(s) connected
2017-04-27 10:06:48:777 - [debug] [ADB] Running '/Users/Aleksei/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","LGH8155e9892e6","shell","pm","list","packages","xx.xxxx.xxxx"]
2017-04-27 10:06:49:441 - [debug] [ADB] App is installed
then is it starting app with:
2017-04-27 10:06:52:423 - [debug] [ADB] Running '/Users/Aleksei/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","LGH8155e9892e6","shell","am","start","-W","-n","xx.xxxx.xxxx/xx.xxxx.activityXxxxxScreenActivity","-S","-a","android.intent.action.MAIN","-c","android.intent.category.LAUNCHER","-f","0x10200000"]
2017-04-27 10:06:54:309 - [debug] [ADB] Waiting for pkg: 'xx.xxxx.xxxx' and activity: 'xx.xxxx.*' to be focused
2017-04-27 10:06:54:310 - [debug] [ADB] Possible activities, to be checked: xx.xxxx.*, xx.xxxx.xxxx.xx.xxxx.*
2017-04-27 10:06:54:311 - [debug] [ADB] Getting focused package and activity