Skip to content

Commit 71af06d

Browse files
authored
Merge pull request #63 from ZennoLab/dev
docs(zennodroid): add DroidInstance API documentation
2 parents ddd8ac5 + 13e2b04 commit 71af06d

21 files changed

Lines changed: 970 additions & 208 deletions

File tree

docs/ZennoDroid/API/Action.mdx

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,19 @@ var action = instance.DroidInstance.Action;
3232
action.SelectByIndex(0);
3333
```
3434
_______________________________________________
35-
### Выбор устройства по имени ADB.
35+
### Выбор устройства по имени.
3636
```csharp
3737
void SelectByName(string name)
3838
```
3939
*Параметры:*
4040
```csharp
41-
string name // Передаем имя ADB устройства, которое хотим выбрать.
41+
string name // Передаем имя устройства, которое хотим выбрать.
4242
```
4343

4444
#### Пример.
4545
```csharp
4646
var action = instance.DroidInstance.Action;
47-
action.SelectByName("adbName");
47+
action.SelectByName("deviceName");
4848
```
4949
_______________________________________________
5050
### Выбор устройства по его названию.
@@ -96,48 +96,63 @@ action.SelectRandom("Samsung");
9696

9797
Тогда под маску `"Samsung"` попадут **Samsung_S23_Android14** и **Samsung_A51_Android12**. Так что после фильтрации метод случайно выберет одно из этих устройств.
9898
_______________________________________________
99-
### Запускаем устройство, которое ранее выбрали.
99+
### Выбор случайного устройства из списка
100100
```csharp
101-
void Start()
102-
```
101+
void SelectRandom(IEnumerable<string> source)
102+
```
103103

104-
#### Пример.
104+
*Параметры:*
105105
```csharp
106-
var action = instance.DroidInstance.Action;
107-
action.SelectByTitle("Name"); // Выбираем устройство.
108-
action.Start(); // Запускаем.
106+
IEnumerable<string> source // Список имён/названий устройств, из которых нужно выбрать случайное.
109107
```
110-
_______________________________________________
111-
### Запускаем выбранное устройство с применением данных из нашего профиля.
108+
109+
#### Пример
112110
```csharp
113-
void Start(bool applyProfile)
114-
```
115-
Данные устройства (разрешение экрана, CPU и т.д.) будут браться из профиля ZennoDroid (вкладка **Текущий профиль**).
111+
var action = instance.DroidInstance.Action;
112+
var devices = new List<string>
113+
{
114+
"Pixel_7_Android14",
115+
"Samsung_S23_Android14",
116+
"Xiaomi_RedmiNote12_Android13",
117+
"Samsung_A51_Android12",
118+
"Google_Nexus5X_Android8"
119+
};
120+
action.SelectRandom(devices);
121+
```
122+
_______________________________________________
123+
### Запускаем устройство, которое ранее выбрали.
124+
```csharp
125+
void Start()
126+
```
116127

117-
*Параметры:*
128+
*Перегрузка:*
118129
```csharp
119130
bool applyProfile
120131
// Передаем True, если хотим использовать данные из профиля ZennoDroid.
132+
// Данные устройства (IMEI, Android ID и т.д.) будут браться из вкладки Текущий профиль.
121133
```
122134

123135
*Перегрузка:*
124136
```csharp
125137
string captureScreenMethod // Передаем тип захвата изображения.
126-
127138
// Варианты: "h264", "mjpeg" или "off".
128139
```
129140

130141
#### Пример.
131142
```csharp
132-
//#1
143+
var action = instance.DroidInstance.Action;
144+
action.SelectByTitle("Name"); // Выбираем устройство.
145+
action.Start(); // Запускаем.
146+
```
147+
```csharp
133148
var action = instance.DroidInstance.Action;
134149
action.SelectByTitle("Name"); // Выбираем устройство.
135150
action.Start(true); // Запускаем с данными из профиля ZD
136-
137-
//#2
151+
```
152+
```csharp
138153
var action = instance.DroidInstance.Action;
139154
action.SelectByTitle("Name"); // Выбираем устройство.
140-
action.Start(true, "mjpeg"); // Запускаем c captureScreenMethod
155+
action.Start("mjpeg"); // Запускаем c captureScreenMethod
141156
```
142157
_______________________________________________
143158
### Останавливаем выбранное запущенное устройство.
Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 8
2+
sidebar_position: 20
33
sidebar_label: Device Filter
44
title: Device Filter | Документация ZennoDroid | ZennoLab
55
description: Device Filter - раздел официальной документации ZennoDroid от ZennoLab. Подробные инструкции, примеры использования и руководство по настройке
@@ -10,32 +10,38 @@ import DisclaimerNotice from '@site/src/components/DisclaimerNotice';
1010
<DisclaimerNotice />
1111

1212
## Описание.
13-
**`IDeviceFilter`**
13+
**`IDeviceFilter`**
1414

1515
Используется для работы с настройками фильтров при генерации JSON-данных для подмены информации об устройстве через LSPosed.
16-
1716
Этот API позволяет задавать параметры фильтрации, чтобы подбирать нужные данные при генерации устройств.
1817

1918
### Свойства.
19+
- **Страна**
20+
```csharp
21+
string Country { get; set; }
22+
23+
// Например: us|ru|de|fr
24+
```
25+
2026
- **Производитель телефона**.
2127
```csharp
2228
string Manufacturer { get; set; }
2329

24-
// Например: Samsung|Pegatron|BYD|OPPO|Inventec|Foxconn|Honor|Huawei|Lenovo
30+
// Например: Samsung|Xiaomi
2531
```
2632

2733
- **Бренд телефона**.
2834
```csharp
2935
string Brand { get; set; }
3036

31-
// Например: Samsung|Xiaomi|OPPO|Realme|Honor|OnePlus|Huawei|Nothing
37+
// Например: Redmi|Poco
3238
```
3339

3440
- **Модель телефона**.
3541
```csharp
3642
string Model { get; set; }
3743

38-
// Например: SamsungS24Ultra|Xiaomi14Pro|OPPOFindX7|RealmeGT5Pro|HonorMagic6Pro|OnePlus12|HuaweiP60Pro|Nothing(2)
44+
// Например: SM-A505F
3945
```
4046

4147
- **Версия Android**.
@@ -47,11 +53,19 @@ string Version { get; set; }
4753

4854
#### Примеры:
4955
```csharp
50-
var settings = instance.DroidInstance.Settings;
51-
52-
var filter = new DeviceFilter(); // Создаем фильтр с данными для генерации
53-
filter.Brand = "Samsung|Xiaomi|OPPO"; // Выбор устройств
54-
filter.Version = "10|11|12|13"; // Выбор версии Android
55-
var json = settings.GenerateRandomLSPosedSettings(project.Profile.Country, filter); // Генерируем случайные данные для подмены LSPosed на основание фильтра
56-
settings.SetLSPosedSettings(json); // Делаем подмену данных
57-
```
56+
var filter = new DeviceFilter();
57+
filter.Country = "us"; // Выбрать страну
58+
filter.Version = "12|13|14|15"; // Выбрать версию Android
59+
filter.GpuVendor = "Qualcomm|ARM"; // Выбрать производителя GPU
60+
61+
var options = new DeviceOptions();
62+
options.AddCanvasNoise = true; // Добавить шум для Canvas
63+
options.AddGpu = true; // Добавить поддельный GPU
64+
65+
var json = instance.DroidInstance.Settings.GenerateRandomLSPosedSettings(filter, options); // Сгенерировать случайные данные для подмены LSPosed на основе фильтра и опций
66+
instance.DroidInstance.Settings.SetLSPosedSettings(json); // Применить подменённые данные
67+
```
68+
_______________________________________________
69+
## Полезные ссылки.
70+
- [**IDroidSettingsAPI**](./Settings).
71+
- [**IDeviceOptions**](./DeviceOptions).
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
sidebar_position: 21
3+
sidebar_label: Device Options
4+
title: Device Options | Документация ZennoDroid | ZennoLab
5+
description: Device Options - раздел официальной документации ZennoDroid от ZennoLab. Подробные инструкции, примеры использования и руководство по настройке
6+
---
7+
import DisclaimerNotice from '@site/src/components/DisclaimerNotice';
8+
9+
# Device Options
10+
<DisclaimerNotice />
11+
12+
## Описание.
13+
**`IDeviceOptions`**
14+
15+
Используется вместе с DeviceFilter при генерации JSON-данных для подмены информации об устройстве в LSPosed.
16+
17+
С помощью этого класса можно настроить уровни подмены помимо базовой фильтрации устройств.
18+
19+
### Свойства
20+
- **Шум Canvas**
21+
Добавляет случайный шум к Canvas-фингерпринтингу. Предотвращает одинаковые хэши canvas.
22+
```csharp
23+
bool? AddCanvasNoise { get; set; }
24+
```
25+
26+
- **Подмена GPU**
27+
Включает подмену GPU/WebGL информации. Рандомизирует строки GPU vendor/renderer в соответствии с DeviceFilter.GpuVendor.
28+
```csharp
29+
bool? AddGpu { get; set; }
30+
```
31+
32+
- **Доступ к WebView**
33+
Предоставляет возможность выполнять JavaScript в приложениях, содержащих WebView.
34+
По умолчанию доступ к WebView в приложениях, не являющихся браузерами, всегда выключен. Данная настройка позволяет получить доступ к HTML-разметке не только браузеров, но и приложений использующих WebView. Для этого в дереве элементов должен присутствовать элемент android.webkit.WebView.
35+
```csharp
36+
bool? AddWebView { get; set; }
37+
```
38+
39+
- **Эмуляция WiFi**
40+
Эмулирует WiFi-соединение. Используется для прошивок, которые не видят наличия интернет-подключения при отключенном WiFi.
41+
```csharp
42+
bool? AddWiFiEmulation { get; set; }
43+
```
44+
45+
#### Примеры:
46+
```csharp
47+
var filter = new DeviceFilter();
48+
filter.Country = "us"; // Выбрать страну
49+
50+
var options = new DeviceOptions();
51+
options.AddCanvasNoise = true; // Добавить шум Canvas
52+
options.AddGpu = true; // Добавить поддельный GPU
53+
options.AddWebView = true; // Включить доступ JavaScript к WebView
54+
options.AddWiFiEmulation = true; // Эмулировать WiFi при отключенном интернете
55+
56+
var json = instance.DroidInstance.Settings.GenerateRandomLSPosedSettings(filter, options); // Сгенерировать случайные данные для подмены LSPosed на основе фильтра и опций
57+
instance.DroidInstance.Settings.SetLSPosedSettings(json); // Применить подменённые данные
58+
```
59+
_______________________________________________
60+
## Полезные ссылки.
61+
- [**IDroidSettingsAPI**](./Settings).
62+
- [**IDeviceFilter**](./DeviceFilter).

0 commit comments

Comments
 (0)