• 大小: 5.2MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: Java
  • 标签: UiAutomator  

资源简介

UiAutomatorViewer源码 (附带jar包) 导入项目即可使用,已解决8.0 不能获取快照 (windows7) windows10 需替换 swt.jar 包

资源截图

代码片段和文件信息

/*
 * Copyright (C) 2012 The Android Open Source Project
 *
 * Licensed under the Apache License Version 2.0 (the “License“);
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing software
 * distributed under the License is distributed on an “AS IS“ BASIS
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.uiautomator;

import com.android.SdkConstants;
import com.android.ddmlib.AndroidDebugBridge;
import com.android.ddmlib.IDevice;

import java.io.File;
import java.util.Arrays;
import java.util.List;

public class DebugBridge {
    private static AndroidDebugBridge sDebugBridge;

    private static String getAdbLocation() {
        String toolsDir = System.getProperty(“com.android.uiautomator.bindir“); //$NON-NLS-1$
        System.out.println(toolsDir);
        if (toolsDir == null) {
            return “adb“;
        }

        File sdk = new File(toolsDir).getParentFile();

        // check if adb is present in platform-tools
        File platformTools = new File(sdk “platform-tools“);
        System.out.println(platformTools.getPath());
        File adb = new File(platformTools SdkConstants.FN_ADB);
        if (adb.exists()) {
            return adb.getAbsolutePath();
        }

        // check if adb is present in the tools directory
        adb = new File(toolsDir SdkConstants.FN_ADB);
        if (adb.exists()) {
            return adb.getAbsolutePath();
        }

        // check if we‘re in the Android source tree where adb is in $ANDROID_HOST_OUT/bin/adb
        String androidOut = System.getenv(“ANDROID_HOST_OUT“);
        if (androidOut != null) {
            String adbLocation = androidOut + File.separator + “bin“ + File.separator +
                    SdkConstants.FN_ADB;
            if (new File(adbLocation).exists()) {
                return adbLocation;
            }
        }

        return null;
    }

    public static void init() {
        String adbLocation = getAdbLocation();
        if (adbLocation != null) {
            AndroidDebugBridge.init(false /* debugger support */);
            sDebugBridge = AndroidDebugBridge.createBridge(adbLocation false);
        }
    }

    public static void terminate() {
        if (sDebugBridge != null) {
            sDebugBridge = null;
            AndroidDebugBridge.terminate();
        }
    }

    public static boolean isInitialized() {
        return sDebugBridge != null;
    }

    public static List getDevices() {
        return Arrays.asList(sDebugBridge.getDevices());
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-24 09:28  uiautomator\
     文件         763  2018-04-24 09:28  uiautomator\.classpath
     文件         387  2018-04-24 09:28  uiautomator\.project
     目录           0  2018-04-24 09:28  uiautomator\.settings\
     文件         598  2018-04-24 09:28  uiautomator\.settings\org.eclipse.jdt.core.prefs
     目录           0  2018-04-26 10:05  uiautomator\bin\
     目录           0  2018-04-26 10:05  uiautomator\bin\com\
     目录           0  2018-04-26 10:05  uiautomator\bin\com\android\
     目录           0  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\
     文件        2502  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\DebugBridge.class
     文件         852  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\OpenDialog$1.class
     文件         852  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\OpenDialog$2.class
     文件        5783  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\OpenDialog.class
     文件         590  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorHelper$UiAutomatorException.class
     文件         815  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorHelper$UiAutomatorResult.class
     文件        8031  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorHelper.class
     文件        1102  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorModel$MinAreaFindNodeListener.class
     文件        5458  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorModel.class
     文件        1073  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$1.class
     文件         928  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$10.class
     文件         930  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$11.class
     文件        1073  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$2.class
     文件        1057  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$3.class
     文件        4016  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$4.class
     文件        2035  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$5.class
     文件        2335  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$6.class
     文件        2178  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$7.class
     文件        1439  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$8.class
     文件        1747  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$9.class
     文件        1655  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView$AttributeTableEditingSupport.class
     文件       15411  2018-04-26 10:05  uiautomator\bin\com\android\uiautomator\UiAutomatorView.class
............此处省略76个文件信息

评论

共有 条评论