@Override
		public void run() {
//			while (!downloadAPK(url, dest)) {
//			}
			while(true){
				log.info("begin download");
				if(downloadAPK(url, dest)){
					singleThreadDownTimes++;
					downLoadedNum++;
					log.info("download success, total times:"+downLoadedNum);
					if(downLoadedNum>=MAX_TIMES){
						log.info("download enough times, thread exit");
						return;
					}
				}else{
					log.info("download fail, total times:"+downLoadedNum);
				}
				int sleepTime = generateSleepTime();
				log.info("begin sleep for "+sleepTime+" mins");
				try {
					//Thread.currentThread();
					Thread.sleep(sleepTime*ONE_MINUTE_IN_MISECONDS);
				} catch (InterruptedException e) {
					log.info(e.getMessage());
					e.printStackTrace();
				}
			}
		}