Appium-安装Android SDK on Windows

本文详细介绍如何在Windows环境下安装配置Android SDK及相关组件,包括JDK安装、Android SDK安装与更新、驱动下载、系统环境变量设置等内容,为使用Appium进行自动化测试打下坚实基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Appium-安装Android SDK on Windows

作者: Max.Bai

时间: 2014/09



Android 开发环境搭建-Windows

1. JDK安装

安装Java JDK 1.6 以上,并设置

JAVA_HOME 环境变量

Path 添加:%JAVA_HOME%\bin

2. Android SDK for windows 安装

安装Android SDK for windows: Android\installer_r21-windows.exe

3. 更新Android SDKplatform_tools

打开SDK manager,安装tools 目录下的东西,安装4.2 以上的版本,安装了对应版本的SDK才能创建对应的模拟器

下载不成功请更新host文件,添加如下内容:

#google_android更新

203.208.46.146 dl.google.com

203.208.46.146 dl-ssl.google.com


还下载不成功就打开SDK manager, 设置tool -> options  勾上force。。。

http://zhuanlan.zhihu.com/internet-thinking/19969422

 

4. Devices 驱动下载

下载驱动,下载相关的驱动,比如CPU驱动,arm的或者intel的,后面创建模拟器的时候需要用到,如果没有安装就不能创建相关虚拟机

5. 系统环境变量设置

设置系统变量 Android_Home 为Android安装目录

修改系统变量Path,添加SDK Tool 和 platform_tools  目录

测试 adb 命令可用

6. 开启Android模拟器

打开AVD Manager,创建模拟器:

6.1 创建Android 模拟器

点击Create按钮

 

AVD name:模拟器名称 设置

Device: 需要模拟的设备(屏幕尺寸等。。)

Target: SDK的版本,只显示安装了的,建议使用Level17 以上

CPU: arm 或者 intel,需要sdk中安装对应的驱动

Keyboard: 键盘显示

Skin:

Front Camera: 无

Back Camera: 无

Memory Option: 内存设置

Internal Storage: 模拟器容量

SD card: SD卡容量

Emulation Options: 无

 

6.2 开启Android模拟器

选中AVD 点击Start

等模拟器开启完成,命令行 adb devices 查看刚刚开启的模拟器是否在列表中

 

图片就不上传了,网上资料挺多
[info] [Appium] Welcome to Appium v1.20.2 [info] [Appium] Non-default server args: [info] [Appium] relaxedSecurityEnabled: true [info] [Appium] allowInsecure: { [info] [Appium] } [info] [Appium] denyInsecure: { [info] [Appium] } [info] [Appium] Appium REST http interface listener started on 0.0.0.0:4723[info] [HTTP] --> GET /wd/hub/sessions [info] [HTTP] {} [debug] [GENERIC] Calling AppiumDriver.getSessions() with args: [] [debug] [GENERIC] Responding to client with driver.getSessions() result: [] [info] [HTTP] <-- GET /wd/hub/sessions 200 5 ms - 40 [info] [HTTP] [info] [HTTP] --> POST /wd/hub/session [info] [HTTP] {"desiredCapabilities":{"platformName\"":"Android","newCommandTimeout":0,"connectHardwareKeyboard":true}} [debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"platformName\"":"Android","newCommandTimeout":0,"connectHardwareKeyboard":true},null,null] [debug] [BaseDriver] Event 'newSessionRequested' logged at 1750921438941 (15:03:58 GMT+0800 (中国标准时间)) [debug] [BaseDriver] Event 'newSessionStarted' logged at 1750921438942 (15:03:58 GMT+0800 (中国标准时间)) [debug] [MJSONWP] Encountered internal error running command: Error: You must include a platformName capability [debug] [MJSONWP] at AppiumDriver.getDriverAndVersionForCaps (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\lib\appium.js:216:13) [debug] [MJSONWP] at AppiumDriver.createSession (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\lib\appium.js:324:66) [debug] [MJSONWP] at commandExecutor (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\basedriver\driver.js:334:9) [debug] [MJSONWP] at AppiumDriver.executeCommand (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\basedriver\driver.js:348:15) [debug] [MJSONWP] at AppiumDriver.executeCommand (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\lib\appium.js:533:26) [debug] [MJSONWP] at asyncHandler (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:297:34) [debug] [MJSONWP] at D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:423:15 [debug] [MJSONWP] at Layer.handle [as handle_request] (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\layer.js:95:5) [debug] [MJSONWP] at next (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\route.js:137:13) [debug] [MJSONWP] at Route.dispatch (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\route.js:112:3) [debug] [MJSONWP] at Layer.handle [as handle_request] (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\layer.js:95:5) [debug] [MJSONWP] at D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:281:22 [debug] [MJSONWP] at Function.process_params (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:335:12) [debug] [MJSONWP] at next (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:275:10) [debug] [MJSONWP] at logger (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\morgan\index.js:144:5) [debug] [MJSONWP] at Layer.handle [as handle_request] (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\layer.js:95:5) [debug] [MJSONWP] at trim_prefix (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:317:13) [debug] [MJSONWP] at D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:284:7 [debug] [MJSONWP] at Function.process_params (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:335:12) [debug] [MJSONWP] at next (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\express\lib\router\index.js:275:10) [debug] [MJSONWP] at D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\body-parser\lib\read.js:130:5 [debug] [MJSONWP] at invokeCallback (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\raw-body\index.js:224:16) [debug] [MJSONWP] at done (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\raw-body\index.js:213:7) [debug] [MJSONWP] at IncomingMessage.onEnd (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\raw-body\index.js:273:7) [debug] [MJSONWP] at IncomingMessage.emit (events.js:208:15) [debug] [MJSONWP] at endReadableNT (_stream_readable.js:1168:12) [debug] [MJSONWP] at processTicksAndRejections (internal/process/task_queues.js:77:11) [info] [HTTP] <-- POST /wd/hub/session 500 27 ms - 179 [info] [HTTP]  [info] [HTTP] --> DELETE /wd/hub/session [info] [HTTP] {} [debug] [HTTP] No route found for /wd/hub/session [info] [HTTP] <-- DELETE /wd/hub/session 404 5 ms - 211 [info] [HTTP] [info] [HTTP] --> POST /wd/hub/session [info] [HTTP] {"desiredCapabilities":{"ensureWebviewsHavePages":true,"platformName":"Android","newCommandTimeout":0,"connectHardwareKeyboard":true}} [debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"ensureWebviewsHavePages":true,"platformName":"Android","newCommandTimeout":0,"connectHardwareKeyboard":true},null,null] [debug] [BaseDriver] Event 'newSessionRequested' logged at 1750921458583 (15:04:18 GMT+0800 (中国标准时间)) [warn] [Appium] [warn] [Appium] ====================================================================== [warn] [Appium] DEPRECATION WARNING: [warn] [Appium] [warn] [Appium] The 'automationName' capability was not provided in the desired [warn] [Appium] capabilities for this Android session [warn] [Appium] [warn] [Appium] Setting 'automationName=UiAutomator2' by default and using the [warn] [Appium] UiAutomator2 Driver [warn] [Appium] [warn] [Appium] The next major version of Appium (2.x) will **require** the [warn] [Appium] 'automationName' capability to be set for all sessions on all [warn] [Appium] platforms [warn] [Appium] [warn] [Appium] In previous versions (Appium <= 1.13.x), the default was [warn] [Appium] 'automationName=UiAutomator1' [warn] [Appium] [warn] [Appium] If you wish to use that automation instead of UiAutomator2, please [warn] [Appium] add 'automationName=UiAutomator1' to your desired capabilities [warn] [Appium] [warn] [Appium] For more information about drivers, please visit [warn] [Appium] http://appium.io/docs/en/about-appium/intro/ and explore the [warn] [Appium] 'Drivers' menu [warn] [Appium] [warn] [Appium] ====================================================================== [warn] [Appium] [info] [Appium] Appium v1.20.2 creating new AndroidUiautomator2Driver (v1.61.2) session [info] [Appium] Applying relaxed security to 'AndroidUiautomator2Driver' as per server command line argument. All insecure features will be enabled unless explicitly disabled by --deny-insecure [debug] [BaseDriver] Creating session with MJSONWP desired capabilities: { [debug] [BaseDriver] "ensureWebviewsHavePages": true, [debug] [BaseDriver] "platformName": "Android", [debug] [BaseDriver] "newCommandTimeout": 0, [debug] [BaseDriver] "connectHardwareKeyboard": true [debug] [BaseDriver] } [warn] [BaseDriver] The following capabilities were provided, but are not recognized by Appium: [warn] [BaseDriver] connectHardwareKeyboard [info] [BaseDriver] Session created with session id: a7def776-063b-41be-b908-d8c598571316 [info] [UiAutomator2] Neither 'app' nor 'appPackage' was set. Starting UiAutomator2 without the target application[debug] [UiAutomator2] Deleting UiAutomator2 session [debug] [BaseDriver] Event 'newSessionStarted' logged at 1750921458808 (15:04:18 GMT+0800 (中国标准时间)) [debug] [MJSONWP] Encountered internal error running command: Error: Could not find 'adb.exe' in ["D:\\android-sdk-windows\\platform-tools\\adb.exe","D:\\android-sdk-windows\\emulator\\adb.exe","D:\\android-sdk-windows\\cmdline-tools\\latest\\bin\\adb.exe","D:\\android-sdk-windows\\tools\\adb.exe","D:\\android-sdk-windows\\tools\\bin\\adb.exe","D:\\android-sdk-windows\\adb.exe"]. Do you have Android Build Tools installed at 'D:\android-sdk-windows'? [debug] [MJSONWP] at ADB.getBinaryFromSdkRoot (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\system-calls.js:125:11) [debug] [MJSONWP] at ADB.getSdkBinaryPath (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\system-calls.js:44:10) [debug] [MJSONWP] at ADB.getAdbWithCorrectAdbPath (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\adb-commands.js:89:26) [debug] [MJSONWP] at Function.createADB (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-adb\lib\adb.js:56:3) [debug] [MJSONWP] at Object.createBaseADB (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\android-helpers.js:108:10) [debug] [MJSONWP] at Object.getDeviceInfoFromCaps (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\android-helpers.js:193:15) [debug] [MJSONWP] at AndroidUiautomator2Driver.startUiAutomator2Session (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\lib\driver.js:327:26) [debug] [MJSONWP] at AndroidUiautomator2Driver.createSession (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\lib\driver.js:224:7) [debug] [MJSONWP] at AppiumDriver.createSession (D:\Appium-windows-1.20.2\resources\app\node_modules\appium\lib\appium.js:371:35) [info] [HTTP] <-- POST /wd/hub/session 500 258 ms - 574 [info] [HTTP]  [info] [HTTP] --> DELETE /wd/hub/session [info] [HTTP] {} [debug] [HTTP] No route found for /wd/hub/session [info] [HTTP] <-- DELETE /wd/hub/session 404 0 ms - 211 [info] [HTTP] 
最新发布
06-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值