diff --git a/pom.xml b/pom.xml
index e4490fe..123d737 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.daxiang
agent
- 0.7.8
+ 0.7.9
jar
diff --git a/src/main/java/com/daxiang/action/MobileAction.java b/src/main/java/com/daxiang/action/MobileAction.java
index 54b0293..c00071d 100644
--- a/src/main/java/com/daxiang/action/MobileAction.java
+++ b/src/main/java/com/daxiang/action/MobileAction.java
@@ -4,7 +4,7 @@
import com.daxiang.core.action.annotation.Action;
import com.daxiang.core.action.annotation.Param;
import com.daxiang.core.mobile.MobileDevice;
-import com.daxiang.utils.HttpUtil;
+import com.daxiang.utils.FileUtil;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.TouchAction;
import io.appium.java_client.touch.WaitOptions;
@@ -57,7 +57,7 @@ public void switchContext(@Param(possibleValues = "[{'value': 'NATIVE_APP', 'des
public void installApp(@Param(description = "app下载地址") String appDownloadUrl) throws IOException {
Assert.hasText(appDownloadUrl, "appDownloadUrl不能为空");
- File app = HttpUtil.downloadFile(appDownloadUrl);
+ File app = FileUtil.downloadFile(appDownloadUrl);
try {
mobileDevice.installApp(app);
} finally {
diff --git a/src/main/java/com/daxiang/core/mobile/android/AndroidDevice.java b/src/main/java/com/daxiang/core/mobile/android/AndroidDevice.java
index dbf216e..6a9d37c 100644
--- a/src/main/java/com/daxiang/core/mobile/android/AndroidDevice.java
+++ b/src/main/java/com/daxiang/core/mobile/android/AndroidDevice.java
@@ -14,7 +14,6 @@
import com.daxiang.core.mobile.android.stf.Minitouch;
import com.daxiang.core.mobile.appium.AndroidNativePageSourceHandler;
import com.daxiang.core.mobile.appium.AppiumServer;
-import com.daxiang.utils.HttpUtil;
import com.daxiang.utils.Terminal;
import com.daxiang.utils.UUIDUtil;
import io.appium.java_client.android.AndroidDriver;
@@ -33,6 +32,7 @@
import java.io.File;
import java.io.IOException;
+import java.net.URL;
import java.nio.file.Files;
import java.nio.file.attribute.PosixFilePermission;
import java.time.Duration;
@@ -136,7 +136,7 @@ public void installApp(File appFile) {
// 主要因为appium server无法在安装app时,响应其他请求,所以这里用ddmlib安装
AndroidUtil.installApk(iDevice, appFile.getAbsolutePath());
} catch (InstallException e) {
- throw new RuntimeException(String.format("[%s]安装app失败", getId()), e);
+ throw new RuntimeException(String.format("[%s]安装app失败: %s", getId(), e.getMessage()), e);
} finally {
if (!scheduleService.isShutdown()) {
scheduleService.shutdown();
@@ -238,7 +238,7 @@ public synchronized String getChromedriverFilePath() {
if (!chromedriverFile.exists()) {
try {
log.info("[{}]download chromedriver from {}", getId(), downloadUrl);
- HttpUtil.downloadFile(downloadUrl, chromedriverFile);
+ FileUtils.copyURLToFile(new URL(downloadUrl), chromedriverFile);
if (!Terminal.IS_WINDOWS) {
// 权限
diff --git a/src/main/java/com/daxiang/service/AndroidService.java b/src/main/java/com/daxiang/service/AndroidService.java
index 73fccdb..a4f2e0c 100644
--- a/src/main/java/com/daxiang/service/AndroidService.java
+++ b/src/main/java/com/daxiang/service/AndroidService.java
@@ -7,7 +7,7 @@
import com.daxiang.core.mobile.android.AndroidUtil;
import com.daxiang.core.mobile.android.IDeviceExecuteShellCommandException;
import com.daxiang.exception.AgentException;
-import com.daxiang.utils.HttpUtil;
+import com.daxiang.utils.FileUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Service;
@@ -48,9 +48,8 @@ public void stopAdbKit(String mobileId) {
public String aaptDumpBadging(String apkDownloadUrl) {
File apkFile = null;
-
try {
- apkFile = HttpUtil.downloadFile(apkDownloadUrl);
+ apkFile = FileUtil.downloadFile(apkDownloadUrl);
return AndroidUtil.aaptDumpBadging(apkFile.getAbsolutePath());
} catch (IOException e) {
log.error(e.getMessage(), e);
@@ -89,4 +88,4 @@ public void setIme(String mobileId, String ime) {
throw new AgentException(e.getMessage());
}
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/daxiang/utils/FileUtil.java b/src/main/java/com/daxiang/utils/FileUtil.java
new file mode 100644
index 0000000..06d2a9a
--- /dev/null
+++ b/src/main/java/com/daxiang/utils/FileUtil.java
@@ -0,0 +1,19 @@
+package com.daxiang.utils;
+
+import org.apache.commons.io.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+
+/**
+ * Created by jiangyitao.
+ */
+public class FileUtil {
+
+ public static File downloadFile(String url) throws IOException {
+ File file = new File(UUIDUtil.getUUID());
+ FileUtils.copyURLToFile(new URL(url), file);
+ return file;
+ }
+}
diff --git a/src/main/java/com/daxiang/utils/HttpUtil.java b/src/main/java/com/daxiang/utils/HttpUtil.java
deleted file mode 100644
index 872a0cf..0000000
--- a/src/main/java/com/daxiang/utils/HttpUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.daxiang.utils;
-
-import com.daxiang.App;
-import org.apache.commons.io.FileUtils;
-import org.springframework.web.client.RestTemplate;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Created by jiangyitao.
- */
-public class HttpUtil {
-
- public static void downloadFile(String url, File file) throws IOException {
- byte[] bytes = App.getBean(RestTemplate.class).getForObject(url, byte[].class);
- FileUtils.writeByteArrayToFile(file, bytes, false);
- }
-
- public static File downloadFile(String url) throws IOException {
- return downloadFile(url, true);
- }
-
- public static File downloadFile(String url, boolean renameFile) throws IOException {
- String fileName = url.substring(url.lastIndexOf("/") + 1);
- if (renameFile) {
- fileName = UUIDUtil.getUUIDFilename(fileName);
- }
-
- File file = new File(fileName);
- downloadFile(url, file);
-
- return file;
- }
-}