UiAutomatorViewer源码 附带jar包


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.settingsorg.eclipse.jdt.core.prefs
     目录           0  2018-04-26 10:05  uiautomatorin
     目录           0  2018-04-26 10:05  uiautomatorincom
     目录           0  2018-04-26 10:05  uiautomatorincomandroid
     目录           0  2018-04-26 10:05  uiautomatorincomandroiduiautomator
     文件        2502  2018-04-26 10:05  uiautomatorincomandroiduiautomatorDebugBridge.class
     文件         852  2018-04-26 10:05  uiautomatorincomandroiduiautomatorOpenDialog$1.class
     文件         852  2018-04-26 10:05  uiautomatorincomandroiduiautomatorOpenDialog$2.class
     文件        5783  2018-04-26 10:05  uiautomatorincomandroiduiautomatorOpenDialog.class
     文件         590  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorHelper$UiAutomatorException.class
     文件         815  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorHelper$UiAutomatorResult.class
     文件        8031  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorHelper.class
     文件        1102  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorModel$MinAreaFindNodeListener.class
     文件        5458  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorModel.class
     文件        1073  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$1.class
     文件         928  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$10.class
     文件         930  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$11.class
     文件        1073  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$2.class
     文件        1057  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$3.class
     文件        4016  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$4.class
     文件        2035  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$5.class
     文件        2335  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$6.class
     文件        2178  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$7.class
     文件        1439  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$8.class
     文件        1747  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$9.class
     文件        1655  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView$AttributeTableEditingSupport.class
     文件       15411  2018-04-26 10:05  uiautomatorincomandroiduiautomatorUiAutomatorView.class
............此处省略76个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)