Перейти к основному содержимому

DroidInstance API

Описание.

Добро пожаловать в первую часть документации по работе с API ZennoDroid. В этом материале вы найдете основную информацию и ключевые методы работы с объектами ZennoDroid, а так же примеры на C#.

Основной объект для работы с ZennoDroid API.

IDroidInstanceAPI DroidInstance

Данный объект представляет собой контейнер для интерфейсов, обеспечивающих взаимодействие с различными аспектами Android, такими как управление приложениями, ввод данных, настройки и т.д.
С его помощью можно получить доступ к необходимому объекту взаимодействия, а затем использовать его методы и свойства для работы с API.

Пример.

instance.DroidInstance.Action.SelectRandom();

Список интерфейсов.

IAppiumDriverAPI AppiumDriver { get; }
IDroidActionAPI Action { get; }
IDroidAppAPI App { get; }
IDroidHierarchyAPI Hierarchy { get; }
IDroidInfoAPI Info { get; }
IDroidInputAPI Input { get; }
IDroidProxyAPI Proxy { get; }
IDroidScreenAPI Screen { get; }
IDroidSettingsAPI Settings { get; }
IFridaDeviceAPI FridaDevice { get; }
ISqlite3API Sqlite3 { get; }
IWebViewAPI WebView { get; }

Свойства и методы интерфейсов.

IAppiumDriverAPI

IAppiumDriverAPI AppiumDriver

IAndroidElementAPI ActiveElement();
IAndroidElementAPI FindElementByAccessibilityId(string id);
IAndroidElementAPI FindElementByClassName(string className);
IAndroidElementAPI FindElementById(string id);
IAndroidElementAPI FindElementByUiAutomator(string uiSelector);
IAndroidElementAPI FindElementByXPath(string xpath);
IAndroidElementAPI[] FindElementsByAccessibilityId(string id);
IAndroidElementAPI[] FindElementsById(string id);
IAndroidElementAPI[] FindElementsByClassName(string className);
IAndroidElementAPI[] FindElementsByUiAutomator(string uiSelector);
IAndroidElementAPI[] FindElementsByXPath(string xpath);
void ScrollToElementByAccessibilityId(string id, int maxSwipes);
void ScrollToElementByClassName(string className, int maxSwipes);
void ScrollToElementByUiAutomator(string uiSelector, int maxSwipes);
string GetScreenshot();
void UpdateSettings(string key, object value);
void UpdateSettings(IEnumerable<KeyValuePair<string, object>> keyValuePairs);

IDroidActionAPI

IDroidActionAPI Action

void SelectByIndex(int index);
void SelectByName(string name);
void SelectByTitle(string title);
void SelectRandom(string mask);
void SelectRandom(IEnumerable<string> source);
void Start();
void Start(bool applyProfile);
void Start(string captureScreenMethod);
void Start(bool applyProfile, string captureScreenMethod);
void Stop();

IDroidActionEmulatorAPI: IDroidActionAPI

IDroidActionAPI Action

int Clone();
int Create(string version);
int Import(string path);
void DeleteByIndex(int index);
void DeleteByName(string name);
void DeleteByTitle(string title);
void Export(string path);
void FactoryReset(bool resetSystem);
void Rename(int index, string title);
void Rename(string name, string title);
void RenameTo(string title);

IDroidAppAPI

IDroidAppAPI App

string AppDir(string packageName);
string DataDir(string packageName);
string GetAccounts(string packageName);
string GetAccounts(string packageName, string type);
string GetAllNotifications();
string GetAppNotifications(string packageName);
string GetCookie(string packageName);
string GetCookiePath(string packageName);
string Top { get; }
string Uid(string packageName);
uint TopPid { get; }
void AddAccount(string name, string type, string password);
void AddAccount(string name, string type, string password, string metadata);
void BackupAppData(string packageName, string pathToBackup);
void BackupAppData(string packageName, string pathToBackup, bool savePermissions);
void BackupAppData(string packageName, string pathToBackup, bool savePermissions, string accountType);
void Clean(string packageName);
void CleanCache(string packageName);
void ClearAllNotifications();
void ClearAppNotifications(string packageName);
void Close(string packageName);
void CloseAll();
void Delete(string packageName);
void InjectScript(string packageName, string script);
void InstallApk(string path);
void InstallApk(string path, bool useCache, bool useRoot);
bool IsInstalled(string packageName);
string[] GetListPackages();
string[] GetListSystemPackages();
string[] GetListUserPackages();
void Open(string packageName);
void Open(string packageName, string activityName);
void Open(string packageName, string activityName, string action);
void OpenAsRoot(string packageName, string activityName);
void OpenAsRoot(string packageName, string activityName, string action);
void OpenUrl(string url);
void OpenUrl(string url, string packageName);
void PatchFlutterLib(string packageName, string proxy);
bool RemoveAccount(string name, string type);
void RestoreAppData(string packageName, string pathToBackup);
void RestoreAppData(string packageName, string pathToBackup, bool restorePermissions);
void RestoreAppData(string packageName, string pathToBackup, bool restorePermissions, bool restoreAccount);
void RestoreDetachedAppData(string packageName, string pathToBackup, bool restorePermissions, bool restoreAccount);
void RestoreFlutterLib(string packageName);

IDroidHierarchyAPI Hierarchy

IDroidHierarchyAPI Hierarchy

string GetLayout();

IDroidInfoAPI Info

IDroidInfoAPI Info

int Index { get; }
string Title { get; }
string Name { get; }
int UiPort { get; }
string AddressPort { get; }

IDroidInputAPI Input

IDroidInputAPI Input

void ClearText();
string GetClipboard();
void LongTap(int x, int y);
void LongTapAndSwipe(int x1, int y1, int x2, int y2);
void LongTapAndSwipe(int x1, int y1, int x2, int y2, int duration);
void LongTapAndSwipeCurved(int x1, int y1, int x2, int y2);
void LongTapAndSwipeCurved(int x1, int y1, int x2, int y2, int duration);
void LongTapAndSwipeCurved(int x1, int y1, double bending, int x2, int y2);
void LongTapAndSwipeCurved(int x1, int y1, double bending, int x2, int y2, int duration);
void LongTapAndSwipeCurved(int x1, int y1, int xPivot, int yPivot, int x2, int y2);
void LongTapAndSwipeCurved(int x1, int y1, int xPivot, int yPivot, int x2, int y2, int duration);
void SendKeyCode(int keyCode);
void SendKeyCode(KeyCode keyCode);
void SendSmsMessage(string phone, string message);
void SendText(string text);
void SendText(string text, int latency);
void SetClipboard(string text);
string Shell(string command);
string Shell(string command, int timeout);
string Shell(string command, int timeout, bool checkconnect);
string RootShell(string command);
string RootShell(string command, int timeout);
string RootShell(string command, int timeout, bool checkconnect);
void Swipe(int x1, int y1, int x2, int y2);
void Swipe(int x1, int y1, int x2, int y2, int duration);
void SwipeCurved(int x1, int y1, int x2, int y2);
void SwipeCurved(int x1, int y1, int x2, int y2, int duration);
void SwipeCurved(int x1, int y1, double bending, int x2, int y2);
void SwipeCurved(int x1, int y1, double bending, int x2, int y2, int duration);
void SwipeCurved(int x1, int y1, int xPivot, int yPivot, int x2, int y2);
void SwipeCurved(int x1, int y1, int xPivot, int yPivot, int x2, int y2, int duration);
void Tap(int x, int y);
void Tap(int x, int y, int duration);
void Touch(int xMin, int yMin, int xMax, int yMax, bool longPress, string clickDistributionType);
void FingerDown(int x, int y);
void FingerDown(int x, int y, int fingerId);
void FingerMove(int x, int y);
void FingerMove(int x, int y, int fingerId);
void FingerUp(int x, int y);
void FingerUp(int x, int y, int fingerId);
void FreeMove(string json, double speed);
void ZoomIn();
void ZoomIn(int centerX, int centerY, double ratio);
void ZoomOut();
void ZoomOut(int centerX, int centerY, double ratio);

IDroidProxyAPI Proxy

IDroidProxyAPI Proxy

string GetProxy();
void SetProxy(string proxy);
void SetProxy(string proxy, IDroidProxySettings settings);
void ClearProxy();
void EnablePrivateDns(string address);
void DisablePrivateDns();

IDroidScreenAPI

IDroidScreenAPI Screen

Rectangle FindImage(string imageHash, Rectangle[] rectangles, int confidenceInterval);
Rectangle FindImage(string imageHash, Rectangle[] rectangles, int confidenceInterval, int searchTime);
Rectangle FindImage(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval);
Rectangle FindImage(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int searchTime);
Point FindPixel(Color color, Rectangle[] rectangles, int variation);
Point FindPixel(Color color, Rectangle[] rectangles, int variation, int searchTime);
Point FindPixel(string htmlColor, Rectangle[] rectangles, int variation);
Point FindPixel(string htmlColor, Rectangle[] rectangles, int variation, int searchTime);
Point FindPixels(Color[] colors, Rectangle[] rectangles, int variation);
Point FindPixels(Color[] colors, Rectangle[] rectangles, int variation, int searchTime);
Point FindPixels(string[] htmlColors, Rectangle[] rectangles, int variation);
Point FindPixels(string[] htmlColors, Rectangle[] rectangles, int variation, int searchTime);
Rectangle FindImageBlackWhite(string imageHash, Rectangle[] rectangles, int confidenceInterval, int threshold);
Rectangle FindImageBlackWhite(string imageHash, Rectangle[] rectangles, int confidenceInterval, int threshold, int searchTime);
Rectangle FindImageBlackWhite(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int threshold);
Rectangle FindImageBlackWhite(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int threshold, int searchTime);
Rectangle FindImageGrayscale(string imageHash, Rectangle[] rectangles, int confidenceInterval);
Rectangle FindImageGrayscale(string imageHash, Rectangle[] rectangles, int confidenceInterval, int searchTime);
Rectangle FindImageGrayscale(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval);
Rectangle FindImageGrayscale(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int searchTime);
byte[] ScreenshotAsArray();
byte[] ScreenshotAsArray(Rectangle area);
string ScreenshotAsBase64String();
string ScreenshotAsBase64String(Rectangle area);
void RefreshScreen();
void ResetScreen();
void SetCaptureScreenQuality(int quality);

IDroidSettingsAPI

IDroidSettingsAPI Settings

void ClearLSPosedSettings();
string GenerateRandomLSPosedSettings(IDeviceFilter filter, IDeviceOptions options);
void SetBaseband(string version);
void SetGeo(double longitude, double latitude);
void SetGeo(double longitude, double latitude, double altitude);
void SetGeo(double longitude, double latitude, double altitude, double bearing);
void SetGeo(double longitude, double latitude, double altitude, double bearing, double speed);
void SetLanguage(string language);
void SetLSPosedSettings(string json);
void SetRandomLSPosedSettings(IDeviceFilter filter, IDeviceOptions deviceOptions);
void SetTime(DateTime dateTime);
void SetTime(string dateTime);
void SetTimezone(string timezone);

IFridaDeviceAPI

IFridaDeviceAPI FridaDevice

string Id { get; }
string Name { get; }
IFridaSessionAPI Attach(uint pid);
void DetachAllSessions();
void DetachSessionByScriptName(string scriptName);
void InstallAndRunServer();
void KillServer();
void LoadScriptToApp(string packageName, string source);
void LoadScriptToFrontmost(string source);
uint Spawn(string packageName);
void Resume(uint pid);

ISqlite3API

ISqlite3API Sqlite3

string ExecuteQuery(string database, string query);
string ExecuteQuery(string database, string query, string options);
void Install();

IWebViewAPI

IWebViewAPI WebView

string EvaluateScript(string script);
string GetAttachedWebSocketUrl();
void InjectSystemCertificate(string source);