@yume-chan/android-bin 0.0.0-20240714132542
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +129 -0
- package/LICENSE +21 -0
- package/README.md +49 -0
- package/esm/am.d.ts +17 -0
- package/esm/am.d.ts.map +1 -0
- package/esm/am.js +42 -0
- package/esm/am.js.map +1 -0
- package/esm/bu.d.ts +28 -0
- package/esm/bu.d.ts.map +1 -0
- package/esm/bu.js +53 -0
- package/esm/bu.js.map +1 -0
- package/esm/bug-report.d.ts +99 -0
- package/esm/bug-report.d.ts.map +1 -0
- package/esm/bug-report.js +271 -0
- package/esm/bug-report.js.map +1 -0
- package/esm/cmd.d.ts +25 -0
- package/esm/cmd.d.ts.map +1 -0
- package/esm/cmd.js +81 -0
- package/esm/cmd.js.map +1 -0
- package/esm/demo-mode.d.ts +44 -0
- package/esm/demo-mode.d.ts.map +1 -0
- package/esm/demo-mode.js +179 -0
- package/esm/demo-mode.js.map +1 -0
- package/esm/dumpsys.d.ts +51 -0
- package/esm/dumpsys.d.ts.map +1 -0
- package/esm/dumpsys.js +114 -0
- package/esm/dumpsys.js.map +1 -0
- package/esm/index.d.ts +13 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +14 -0
- package/esm/index.js.map +1 -0
- package/esm/intent.d.ts +11 -0
- package/esm/intent.d.ts.map +1 -0
- package/esm/intent.js +59 -0
- package/esm/intent.js.map +1 -0
- package/esm/logcat.d.ts +93 -0
- package/esm/logcat.d.ts.map +1 -0
- package/esm/logcat.js +300 -0
- package/esm/logcat.js.map +1 -0
- package/esm/overlay-display.d.ts +38 -0
- package/esm/overlay-display.d.ts.map +1 -0
- package/esm/overlay-display.js +51 -0
- package/esm/overlay-display.js.map +1 -0
- package/esm/pm.d.ts +211 -0
- package/esm/pm.d.ts.map +1 -0
- package/esm/pm.js +382 -0
- package/esm/pm.js.map +1 -0
- package/esm/settings.d.ts +27 -0
- package/esm/settings.d.ts.map +1 -0
- package/esm/settings.js +66 -0
- package/esm/settings.js.map +1 -0
- package/esm/string-format.d.ts +43 -0
- package/esm/string-format.d.ts.map +1 -0
- package/esm/string-format.js +152 -0
- package/esm/string-format.js.map +1 -0
- package/esm/utils.d.ts +4 -0
- package/esm/utils.d.ts.map +1 -0
- package/esm/utils.js +23 -0
- package/esm/utils.js.map +1 -0
- package/package.json +49 -0
- package/src/am.ts +71 -0
- package/src/bu.ts +80 -0
- package/src/bug-report.ts +348 -0
- package/src/cmd.ts +113 -0
- package/src/demo-mode.ts +232 -0
- package/src/dumpsys.ts +153 -0
- package/src/index.ts +14 -0
- package/src/intent.ts +73 -0
- package/src/logcat.ts +509 -0
- package/src/overlay-display.ts +112 -0
- package/src/pm.ts +674 -0
- package/src/settings.ts +128 -0
- package/src/string-format.ts +197 -0
- package/src/utils.ts +29 -0
- package/tsconfig.build.json +14 -0
- package/tsconfig.build.tsbuildinfo +1 -0
package/esm/pm.js
ADDED
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
// cspell:ignore dont
|
|
2
|
+
// cspell:ignore instantapp
|
|
3
|
+
// cspell:ignore apks
|
|
4
|
+
// cspell:ignore versioncode
|
|
5
|
+
import { AdbCommandBase, escapeArg } from "@yume-chan/adb";
|
|
6
|
+
import { ConcatStringStream, SplitStringStream, TextDecoderStream, } from "@yume-chan/stream-extra";
|
|
7
|
+
import { Cmd } from "./cmd.js";
|
|
8
|
+
import { buildArguments } from "./utils.js";
|
|
9
|
+
export var PackageManagerInstallLocation;
|
|
10
|
+
(function (PackageManagerInstallLocation) {
|
|
11
|
+
PackageManagerInstallLocation[PackageManagerInstallLocation["Auto"] = 0] = "Auto";
|
|
12
|
+
PackageManagerInstallLocation[PackageManagerInstallLocation["InternalOnly"] = 1] = "InternalOnly";
|
|
13
|
+
PackageManagerInstallLocation[PackageManagerInstallLocation["PreferExternal"] = 2] = "PreferExternal";
|
|
14
|
+
})(PackageManagerInstallLocation || (PackageManagerInstallLocation = {}));
|
|
15
|
+
export var PackageManagerInstallReason;
|
|
16
|
+
(function (PackageManagerInstallReason) {
|
|
17
|
+
PackageManagerInstallReason[PackageManagerInstallReason["Unknown"] = 0] = "Unknown";
|
|
18
|
+
PackageManagerInstallReason[PackageManagerInstallReason["AdminPolicy"] = 1] = "AdminPolicy";
|
|
19
|
+
PackageManagerInstallReason[PackageManagerInstallReason["DeviceRestore"] = 2] = "DeviceRestore";
|
|
20
|
+
PackageManagerInstallReason[PackageManagerInstallReason["DeviceSetup"] = 3] = "DeviceSetup";
|
|
21
|
+
PackageManagerInstallReason[PackageManagerInstallReason["UserRequest"] = 4] = "UserRequest";
|
|
22
|
+
})(PackageManagerInstallReason || (PackageManagerInstallReason = {}));
|
|
23
|
+
export const PACKAGE_MANAGER_INSTALL_OPTIONS_MAP = {
|
|
24
|
+
skipExisting: "-R",
|
|
25
|
+
installerPackageName: "-i",
|
|
26
|
+
allowTest: "-t",
|
|
27
|
+
internalStorage: "-f",
|
|
28
|
+
requestDowngrade: "-d",
|
|
29
|
+
grantRuntimePermissions: "-g",
|
|
30
|
+
restrictPermissions: "--restrict-permissions",
|
|
31
|
+
doNotKill: "--dont-kill",
|
|
32
|
+
originatingUri: "--originating-uri",
|
|
33
|
+
refererUri: "--referrer",
|
|
34
|
+
inheritFrom: "-p",
|
|
35
|
+
packageName: "--pkg",
|
|
36
|
+
abi: "--abi",
|
|
37
|
+
instantApp: "--instant",
|
|
38
|
+
full: "--full",
|
|
39
|
+
preload: "--preload",
|
|
40
|
+
user: "--user",
|
|
41
|
+
installLocation: "--install-location",
|
|
42
|
+
installReason: "--install-reason",
|
|
43
|
+
forceUuid: "--force-uuid",
|
|
44
|
+
apex: "--apex",
|
|
45
|
+
forceNonStaged: "--force-non-staged",
|
|
46
|
+
staged: "--staged",
|
|
47
|
+
forceQueryable: "--force-queryable",
|
|
48
|
+
enableRollback: "--enable-rollback",
|
|
49
|
+
stagedReadyTimeout: "--staged-ready-timeout",
|
|
50
|
+
skipVerification: "--skip-verification",
|
|
51
|
+
bypassLowTargetSdkBlock: "--bypass-low-target-sdk-block",
|
|
52
|
+
};
|
|
53
|
+
export const PACKAGE_MANAGER_LIST_PACKAGES_OPTIONS_MAP = {
|
|
54
|
+
listDisabled: "-d",
|
|
55
|
+
listEnabled: "-e",
|
|
56
|
+
showSourceDir: "-f",
|
|
57
|
+
showInstaller: "-i",
|
|
58
|
+
listSystem: "-s",
|
|
59
|
+
showUid: "-U",
|
|
60
|
+
listThirdParty: "-3",
|
|
61
|
+
showVersionCode: "--show-versioncode",
|
|
62
|
+
listApexOnly: "--apex-only",
|
|
63
|
+
user: "--user",
|
|
64
|
+
uid: "--uid",
|
|
65
|
+
filter: "",
|
|
66
|
+
};
|
|
67
|
+
const PACKAGE_MANAGER_UNINSTALL_OPTIONS_MAP = {
|
|
68
|
+
keepData: "-k",
|
|
69
|
+
user: "--user",
|
|
70
|
+
versionCode: "--versionCode",
|
|
71
|
+
splitNames: "",
|
|
72
|
+
};
|
|
73
|
+
const PACKAGE_MANAGER_RESOLVE_ACTIVITY_OPTIONS_MAP = {
|
|
74
|
+
user: "--user",
|
|
75
|
+
};
|
|
76
|
+
function buildInstallArguments(command, options) {
|
|
77
|
+
const args = buildArguments(["pm", command], options, PACKAGE_MANAGER_INSTALL_OPTIONS_MAP);
|
|
78
|
+
if (!options?.skipExisting) {
|
|
79
|
+
/*
|
|
80
|
+
* | behavior | previous version | modern version |
|
|
81
|
+
* | -------------------- | -------------------- | -------------------- |
|
|
82
|
+
* | replace existing app | requires `-r` | default behavior [1] |
|
|
83
|
+
* | skip existing app | default behavior [2] | requires `-R` |
|
|
84
|
+
*
|
|
85
|
+
* [1]: `-r` recognized but ignored
|
|
86
|
+
* [2]: `-R` not recognized but ignored
|
|
87
|
+
*
|
|
88
|
+
* So add `-r` when `skipExisting` is `false` for compatibility.
|
|
89
|
+
*/
|
|
90
|
+
args.push("-r");
|
|
91
|
+
}
|
|
92
|
+
return args;
|
|
93
|
+
}
|
|
94
|
+
export class PackageManager extends AdbCommandBase {
|
|
95
|
+
#cmd;
|
|
96
|
+
constructor(adb) {
|
|
97
|
+
super(adb);
|
|
98
|
+
this.#cmd = new Cmd(adb);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Install the apk file.
|
|
102
|
+
*
|
|
103
|
+
* @param apks Path to the apk file. It must exist on the device. On Android 10 and lower, only one apk can be specified.
|
|
104
|
+
*/
|
|
105
|
+
async install(apks, options) {
|
|
106
|
+
const args = buildInstallArguments("install", options);
|
|
107
|
+
// WIP: old version of pm doesn't support multiple apks
|
|
108
|
+
args.push(...apks);
|
|
109
|
+
return await this.adb.subprocess.spawnAndWaitLegacy(args);
|
|
110
|
+
}
|
|
111
|
+
async pushAndInstallStream(stream, options) {
|
|
112
|
+
const sync = await this.adb.sync();
|
|
113
|
+
const fileName = Math.random().toString().substring(2);
|
|
114
|
+
const filePath = `/data/local/tmp/${fileName}.apk`;
|
|
115
|
+
try {
|
|
116
|
+
await sync.write({
|
|
117
|
+
filename: filePath,
|
|
118
|
+
file: stream,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
await sync.dispose();
|
|
123
|
+
}
|
|
124
|
+
// Starting from Android 7, `pm` becomes a wrapper to `cmd package`.
|
|
125
|
+
// The benefit of `cmd package` is it starts faster than the old `pm`,
|
|
126
|
+
// because it connects to the already running `system` process,
|
|
127
|
+
// instead of initializing all system components from scratch.
|
|
128
|
+
//
|
|
129
|
+
// But launching `cmd package` directly causes it to not be able to
|
|
130
|
+
// read files in `/data/local/tmp` (and many other places) due to SELinux policies,
|
|
131
|
+
// so installing files must still use `pm`.
|
|
132
|
+
// (the starting executable file decides which SELinux policies to apply)
|
|
133
|
+
const args = buildInstallArguments("install", options);
|
|
134
|
+
args.push(filePath);
|
|
135
|
+
try {
|
|
136
|
+
const output = await this.adb.subprocess
|
|
137
|
+
.spawnAndWaitLegacy(args.map(escapeArg))
|
|
138
|
+
.then((output) => output.trim());
|
|
139
|
+
if (output !== "Success") {
|
|
140
|
+
throw new Error(output);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
await this.adb.rm(filePath);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async installStream(size, stream, options) {
|
|
148
|
+
// Android 7 added both `cmd` command and streaming install support,
|
|
149
|
+
// It's hard to detect whether `pm` supports streaming install (unless actually trying),
|
|
150
|
+
// so check for whether `cmd` is supported,
|
|
151
|
+
// and assume `pm` streaming install support status is same as that.
|
|
152
|
+
if (!this.#cmd.supportsCmd) {
|
|
153
|
+
// Fall back to push file then install
|
|
154
|
+
await this.pushAndInstallStream(stream, options);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const args = buildInstallArguments("install", options);
|
|
158
|
+
// Remove `pm` from args, `Cmd#spawn` will prepend `cmd <command>` so the final args
|
|
159
|
+
// will be `cmd package install <args>`
|
|
160
|
+
args.shift();
|
|
161
|
+
args.push("-S", size.toString());
|
|
162
|
+
const process = await this.#cmd.spawn(false, "package", ...args);
|
|
163
|
+
const output = process.stdout
|
|
164
|
+
.pipeThrough(new TextDecoderStream())
|
|
165
|
+
.pipeThrough(new ConcatStringStream())
|
|
166
|
+
.then((output) => output.trim());
|
|
167
|
+
await Promise.all([
|
|
168
|
+
stream.pipeTo(process.stdin),
|
|
169
|
+
output.then((output) => {
|
|
170
|
+
if (output !== "Success") {
|
|
171
|
+
throw new Error(output);
|
|
172
|
+
}
|
|
173
|
+
}),
|
|
174
|
+
]);
|
|
175
|
+
}
|
|
176
|
+
static parsePackageListItem(line) {
|
|
177
|
+
line = line.substring("package:".length);
|
|
178
|
+
let packageName;
|
|
179
|
+
let sourceDir;
|
|
180
|
+
let versionCode;
|
|
181
|
+
let installer;
|
|
182
|
+
let uid;
|
|
183
|
+
// The output format is easier to parse in backwards
|
|
184
|
+
let index = line.indexOf(" uid:");
|
|
185
|
+
if (index !== -1) {
|
|
186
|
+
uid = Number.parseInt(line.substring(index + " uid:".length), 10);
|
|
187
|
+
line = line.substring(0, index);
|
|
188
|
+
}
|
|
189
|
+
index = line.indexOf(" installer=");
|
|
190
|
+
if (index !== -1) {
|
|
191
|
+
installer = line.substring(index + " installer=".length);
|
|
192
|
+
line = line.substring(0, index);
|
|
193
|
+
}
|
|
194
|
+
index = line.indexOf(" versionCode:");
|
|
195
|
+
if (index !== -1) {
|
|
196
|
+
versionCode = Number.parseInt(line.substring(index + " versionCode:".length), 10);
|
|
197
|
+
line = line.substring(0, index);
|
|
198
|
+
}
|
|
199
|
+
// `sourceDir` may contain `=` characters
|
|
200
|
+
// (because in newer Android versions it's a base64 string of encrypted package name),
|
|
201
|
+
// so use `lastIndexOf`
|
|
202
|
+
index = line.lastIndexOf("=");
|
|
203
|
+
if (index !== -1) {
|
|
204
|
+
sourceDir = line.substring(0, index);
|
|
205
|
+
packageName = line.substring(index + "=".length);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
packageName = line;
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
packageName,
|
|
212
|
+
sourceDir,
|
|
213
|
+
versionCode,
|
|
214
|
+
installer,
|
|
215
|
+
uid,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
async #cmdOrSubprocess(args) {
|
|
219
|
+
if (this.#cmd.supportsCmd) {
|
|
220
|
+
args.shift();
|
|
221
|
+
return await this.#cmd.spawn(false, "package", ...args);
|
|
222
|
+
}
|
|
223
|
+
return this.adb.subprocess.spawn(args);
|
|
224
|
+
}
|
|
225
|
+
async *listPackages(options) {
|
|
226
|
+
const args = buildArguments(["pm", "list", "packages"], options, PACKAGE_MANAGER_LIST_PACKAGES_OPTIONS_MAP);
|
|
227
|
+
if (options?.filter) {
|
|
228
|
+
args.push(options.filter);
|
|
229
|
+
}
|
|
230
|
+
const process = await this.#cmdOrSubprocess(args);
|
|
231
|
+
const reader = process.stdout
|
|
232
|
+
.pipeThrough(new TextDecoderStream())
|
|
233
|
+
// FIXME: `SplitStringStream` will throw away some data
|
|
234
|
+
// if it doesn't end with a separator. So each chunk of data
|
|
235
|
+
// must contain several complete lines.
|
|
236
|
+
.pipeThrough(new SplitStringStream("\n"))
|
|
237
|
+
.getReader();
|
|
238
|
+
while (true) {
|
|
239
|
+
const { done, value } = await reader.read();
|
|
240
|
+
if (done) {
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
yield PackageManager.parsePackageListItem(value);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
async uninstall(packageName, options) {
|
|
247
|
+
const args = buildArguments(["pm", "uninstall"], options, PACKAGE_MANAGER_UNINSTALL_OPTIONS_MAP);
|
|
248
|
+
args.push(packageName);
|
|
249
|
+
if (options?.splitNames) {
|
|
250
|
+
args.push(...options.splitNames);
|
|
251
|
+
}
|
|
252
|
+
const process = await this.#cmdOrSubprocess(args);
|
|
253
|
+
const output = await process.stdout
|
|
254
|
+
.pipeThrough(new TextDecoderStream())
|
|
255
|
+
.pipeThrough(new ConcatStringStream())
|
|
256
|
+
.then((output) => output.trim());
|
|
257
|
+
if (output !== "Success") {
|
|
258
|
+
throw new Error(output);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
async resolveActivity(options) {
|
|
262
|
+
let args = buildArguments(["pm", "resolve-activity", "--components"], options, PACKAGE_MANAGER_RESOLVE_ACTIVITY_OPTIONS_MAP);
|
|
263
|
+
args = args.concat(options.intent.build());
|
|
264
|
+
const process = await this.#cmdOrSubprocess(args);
|
|
265
|
+
const output = await process.stdout
|
|
266
|
+
.pipeThrough(new TextDecoderStream())
|
|
267
|
+
.pipeThrough(new ConcatStringStream())
|
|
268
|
+
.then((output) => output.trim());
|
|
269
|
+
if (output === "No activity found") {
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
return output;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Creates a new install session.
|
|
276
|
+
*
|
|
277
|
+
* Install sessions are used to install apps with multiple splits, but it can also be used to install a single apk.
|
|
278
|
+
*
|
|
279
|
+
* Install sessions was added in Android 5.0 (API level 21).
|
|
280
|
+
*
|
|
281
|
+
* @param options Options for the install session
|
|
282
|
+
* @returns ID of the new install session
|
|
283
|
+
*/
|
|
284
|
+
async sessionCreate(options) {
|
|
285
|
+
const args = buildInstallArguments("install-create", options);
|
|
286
|
+
const process = await this.#cmdOrSubprocess(args);
|
|
287
|
+
const output = await process.stdout
|
|
288
|
+
.pipeThrough(new TextDecoderStream())
|
|
289
|
+
.pipeThrough(new ConcatStringStream())
|
|
290
|
+
.then((output) => output.trim());
|
|
291
|
+
const sessionIdString = output.match(/.*\[(\d+)\].*/);
|
|
292
|
+
if (!sessionIdString) {
|
|
293
|
+
throw new Error("Failed to create install session");
|
|
294
|
+
}
|
|
295
|
+
return Number.parseInt(sessionIdString[1], 10);
|
|
296
|
+
}
|
|
297
|
+
async sessionAddSplit(sessionId, splitName, path) {
|
|
298
|
+
const args = [
|
|
299
|
+
"pm",
|
|
300
|
+
"install-write",
|
|
301
|
+
sessionId.toString(),
|
|
302
|
+
splitName,
|
|
303
|
+
path,
|
|
304
|
+
];
|
|
305
|
+
const output = await this.adb.subprocess
|
|
306
|
+
.spawnAndWaitLegacy(args)
|
|
307
|
+
.then((output) => output.trim());
|
|
308
|
+
if (!output.startsWith("Success")) {
|
|
309
|
+
throw new Error(output);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
async sessionAddSplitStream(sessionId, splitName, size, stream) {
|
|
313
|
+
const args = [
|
|
314
|
+
"pm",
|
|
315
|
+
"install-write",
|
|
316
|
+
"-S",
|
|
317
|
+
size.toString(),
|
|
318
|
+
sessionId.toString(),
|
|
319
|
+
splitName,
|
|
320
|
+
"-",
|
|
321
|
+
];
|
|
322
|
+
const process = await this.#cmdOrSubprocess(args);
|
|
323
|
+
const output = process.stdout
|
|
324
|
+
.pipeThrough(new TextDecoderStream())
|
|
325
|
+
.pipeThrough(new ConcatStringStream())
|
|
326
|
+
.then((output) => output.trim());
|
|
327
|
+
await Promise.all([
|
|
328
|
+
stream.pipeTo(process.stdin),
|
|
329
|
+
output.then((output) => {
|
|
330
|
+
if (!output.startsWith("Success")) {
|
|
331
|
+
throw new Error(output);
|
|
332
|
+
}
|
|
333
|
+
}),
|
|
334
|
+
]);
|
|
335
|
+
}
|
|
336
|
+
async sessionCommit(sessionId) {
|
|
337
|
+
const args = ["pm", "install-commit", sessionId.toString()];
|
|
338
|
+
const output = await this.adb.subprocess
|
|
339
|
+
.spawnAndWaitLegacy(args)
|
|
340
|
+
.then((output) => output.trim());
|
|
341
|
+
if (output !== "Success") {
|
|
342
|
+
throw new Error(output);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
async sessionAbandon(sessionId) {
|
|
346
|
+
const args = ["pm", "install-abandon", sessionId.toString()];
|
|
347
|
+
const output = await this.adb.subprocess
|
|
348
|
+
.spawnAndWaitLegacy(args)
|
|
349
|
+
.then((output) => output.trim());
|
|
350
|
+
if (output !== "Success") {
|
|
351
|
+
throw new Error(output);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
export class PackageManagerInstallSession {
|
|
356
|
+
static async create(packageManager, options) {
|
|
357
|
+
const id = await packageManager.sessionCreate(options);
|
|
358
|
+
return new PackageManagerInstallSession(packageManager, id);
|
|
359
|
+
}
|
|
360
|
+
#packageManager;
|
|
361
|
+
#id;
|
|
362
|
+
get id() {
|
|
363
|
+
return this.#id;
|
|
364
|
+
}
|
|
365
|
+
constructor(packageManager, id) {
|
|
366
|
+
this.#packageManager = packageManager;
|
|
367
|
+
this.#id = id;
|
|
368
|
+
}
|
|
369
|
+
addSplit(splitName, path) {
|
|
370
|
+
return this.#packageManager.sessionAddSplit(this.#id, splitName, path);
|
|
371
|
+
}
|
|
372
|
+
addSplitStream(splitName, size, stream) {
|
|
373
|
+
return this.#packageManager.sessionAddSplitStream(this.#id, splitName, size, stream);
|
|
374
|
+
}
|
|
375
|
+
commit() {
|
|
376
|
+
return this.#packageManager.sessionCommit(this.#id);
|
|
377
|
+
}
|
|
378
|
+
abandon() {
|
|
379
|
+
return this.#packageManager.sessionAbandon(this.#id);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=pm.js.map
|
package/esm/pm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Adb } from "@yume-chan/adb";
|
|
2
|
+
import { AdbCommandBase } from "@yume-chan/adb";
|
|
3
|
+
import type { SingleUser } from "./utils.js";
|
|
4
|
+
export type SettingsNamespace = "system" | "secure" | "global";
|
|
5
|
+
export declare enum SettingsResetMode {
|
|
6
|
+
UntrustedDefaults = "untrusted_defaults",
|
|
7
|
+
UntrustedClear = "untrusted_clear",
|
|
8
|
+
TrustedDefaults = "trusted_defaults"
|
|
9
|
+
}
|
|
10
|
+
export interface SettingsOptions {
|
|
11
|
+
user?: SingleUser;
|
|
12
|
+
}
|
|
13
|
+
export interface SettingsPutOptions extends SettingsOptions {
|
|
14
|
+
tag?: string;
|
|
15
|
+
makeDefault?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare class Settings extends AdbCommandBase {
|
|
18
|
+
#private;
|
|
19
|
+
constructor(adb: Adb);
|
|
20
|
+
base(verb: string, namespace: SettingsNamespace, options: SettingsOptions | undefined, ...args: string[]): Promise<string>;
|
|
21
|
+
get(namespace: SettingsNamespace, key: string, options?: SettingsOptions): Promise<string>;
|
|
22
|
+
delete(namespace: SettingsNamespace, key: string, options?: SettingsOptions): Promise<void>;
|
|
23
|
+
put(namespace: SettingsNamespace, key: string, value: string, options?: SettingsPutOptions): Promise<void>;
|
|
24
|
+
reset(namespace: SettingsNamespace, mode: SettingsResetMode, options?: SettingsOptions): Promise<void>;
|
|
25
|
+
reset(namespace: SettingsNamespace, packageName: string, tag?: string, options?: SettingsOptions): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/D,oBAAY,iBAAiB;IACzB,iBAAiB,uBAAuB;IACxC,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;CACvC;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,qBAAa,QAAS,SAAQ,cAAc;;gBAG5B,GAAG,EAAE,GAAG;IAKd,IAAI,CACN,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,GAAG,IAAI,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC;IA2BZ,GAAG,CACL,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,MAAM,CAAC;IAMZ,MAAM,CACR,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;IAIV,GAAG,CACL,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAWhB,KAAK,CACD,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;IAChB,KAAK,CACD,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;CAmBnB"}
|
package/esm/settings.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AdbCommandBase } from "@yume-chan/adb";
|
|
2
|
+
import { Cmd } from "./cmd.js";
|
|
3
|
+
export var SettingsResetMode;
|
|
4
|
+
(function (SettingsResetMode) {
|
|
5
|
+
SettingsResetMode["UntrustedDefaults"] = "untrusted_defaults";
|
|
6
|
+
SettingsResetMode["UntrustedClear"] = "untrusted_clear";
|
|
7
|
+
SettingsResetMode["TrustedDefaults"] = "trusted_defaults";
|
|
8
|
+
})(SettingsResetMode || (SettingsResetMode = {}));
|
|
9
|
+
// frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java
|
|
10
|
+
export class Settings extends AdbCommandBase {
|
|
11
|
+
#cmd;
|
|
12
|
+
constructor(adb) {
|
|
13
|
+
super(adb);
|
|
14
|
+
this.#cmd = new Cmd(adb);
|
|
15
|
+
}
|
|
16
|
+
async base(verb, namespace, options, ...args) {
|
|
17
|
+
let command = ["settings"];
|
|
18
|
+
if (options?.user !== undefined) {
|
|
19
|
+
command.push("--user", options.user.toString());
|
|
20
|
+
}
|
|
21
|
+
command.push(verb, namespace);
|
|
22
|
+
command = command.concat(args);
|
|
23
|
+
let output;
|
|
24
|
+
if (this.#cmd.supportsCmd) {
|
|
25
|
+
output = await this.#cmd.spawnAndWait(command[0], ...command.slice(1));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
output = await this.adb.subprocess.spawnAndWait(command);
|
|
29
|
+
}
|
|
30
|
+
if (output.stderr) {
|
|
31
|
+
throw new Error(output.stderr);
|
|
32
|
+
}
|
|
33
|
+
return output.stdout;
|
|
34
|
+
}
|
|
35
|
+
async get(namespace, key, options) {
|
|
36
|
+
const output = await this.base("get", namespace, options, key);
|
|
37
|
+
// Remove last \n
|
|
38
|
+
return output.substring(0, output.length - 1);
|
|
39
|
+
}
|
|
40
|
+
async delete(namespace, key, options) {
|
|
41
|
+
await this.base("delete", namespace, options, key);
|
|
42
|
+
}
|
|
43
|
+
async put(namespace, key, value, options) {
|
|
44
|
+
const args = [key, value];
|
|
45
|
+
if (options?.tag) {
|
|
46
|
+
args.push(options.tag);
|
|
47
|
+
}
|
|
48
|
+
if (options?.makeDefault) {
|
|
49
|
+
args.push("default");
|
|
50
|
+
}
|
|
51
|
+
await this.base("put", namespace, options, ...args);
|
|
52
|
+
}
|
|
53
|
+
async reset(namespace, modeOrPackageName, tagOrOptions, options) {
|
|
54
|
+
const args = [modeOrPackageName];
|
|
55
|
+
if (modeOrPackageName === SettingsResetMode.UntrustedDefaults ||
|
|
56
|
+
modeOrPackageName === SettingsResetMode.UntrustedClear ||
|
|
57
|
+
modeOrPackageName === SettingsResetMode.TrustedDefaults) {
|
|
58
|
+
options = tagOrOptions;
|
|
59
|
+
}
|
|
60
|
+
else if (typeof tagOrOptions === "string") {
|
|
61
|
+
args.push(tagOrOptions);
|
|
62
|
+
}
|
|
63
|
+
await this.base("reset", namespace, options, ...args);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare class ParseError extends Error {
|
|
2
|
+
#private;
|
|
3
|
+
get expected(): string[];
|
|
4
|
+
constructor(expected: string[]);
|
|
5
|
+
}
|
|
6
|
+
export interface Reader {
|
|
7
|
+
value: string;
|
|
8
|
+
position: number;
|
|
9
|
+
}
|
|
10
|
+
export interface Format<T> {
|
|
11
|
+
parse(reader: Reader): T;
|
|
12
|
+
stringify(value: T): string;
|
|
13
|
+
}
|
|
14
|
+
type UnionResult<T extends readonly Format<unknown>[]> = Exclude<{
|
|
15
|
+
[K in keyof T]: T[K] extends Format<infer F> ? F : never;
|
|
16
|
+
}[number], undefined>;
|
|
17
|
+
type SequenceResult<T extends readonly (Format<unknown> | {
|
|
18
|
+
name: string;
|
|
19
|
+
format: Format<unknown>;
|
|
20
|
+
})[]> = {
|
|
21
|
+
[K in keyof T as K extends `${number}` ? T[K] extends {
|
|
22
|
+
name: infer N extends string;
|
|
23
|
+
} ? N : never : never]: T[K] extends {
|
|
24
|
+
format: Format<infer F>;
|
|
25
|
+
} ? F : never;
|
|
26
|
+
} extends infer R extends Record<string, unknown> ? R : never;
|
|
27
|
+
export declare const p: {
|
|
28
|
+
literal: <T extends string>(value: T) => Format<T>;
|
|
29
|
+
digits: () => Format<number>;
|
|
30
|
+
union: <const T extends readonly Format<unknown>[]>(...args: T) => Format<UnionResult<T>>;
|
|
31
|
+
separated: <T>(separator: string, format: Format<T>, { min, max }?: {
|
|
32
|
+
min?: number;
|
|
33
|
+
max?: number;
|
|
34
|
+
}) => Format<T[]>;
|
|
35
|
+
repeated: <T>(format: Format<T>) => Format<T[]>;
|
|
36
|
+
sequence: <const T extends readonly (Format<unknown> | {
|
|
37
|
+
name: string;
|
|
38
|
+
format: Format<unknown>;
|
|
39
|
+
})[]>(...args: T) => Format<SequenceResult<T>>;
|
|
40
|
+
map: <T, R>(format: Format<T>, map: (value: T) => R, reverse: (value: R) => T) => Format<R>;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=string-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-format.d.ts","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;;IAGjC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;gBAEW,QAAQ,EAAE,MAAM,EAAE;CAIjC;AAED,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;CAC/B;AAED,KAAK,WAAW,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAC5D;KACK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,CAAC,EACT,SAAS,CACZ,CAAC;AAEF,KAAK,cAAc,CACf,CAAC,SAAS,SAAS,CACb,MAAM,CAAC,OAAO,CAAC,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAC9C,EAAE,IACH;KACC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,GAChC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,GACzC,CAAC,GACD,KAAK,GACT,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACrE,SAAS,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,CAAC,GACD,KAAK,CAAC;AAEZ,eAAO,MAAM,CAAC;cACA,CAAC,SAAS,MAAM,SAAS,CAAC,KAAG,MAAM,CAAC,CAAC,CAAC;kBAYpC,MAAM,CAAC,MAAM,CAAC;kBAaZ,CAAC,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE,WACrC,CAAC,KACX,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBA6Bb,CAAC,aACE,MAAM,UACT,MAAM,CAAC,CAAC,CAAC,iBACY;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,KAC5D,MAAM,CAAC,CAAC,EAAE,CAAC;eA+BH,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC;qBAiBnC,CAAC,SAAS,SAAS,CACnB,MAAM,CAAC,OAAO,CAAC,GACf;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAAE,CAC9C,EAAE,WAEM,CAAC,KACX,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;UAwBtB,CAAC,EAAE,CAAC,UACE,MAAM,CAAC,CAAC,CAAC,OACZ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,WACX,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KACzB,MAAM,CAAC,CAAC,CAAC;CAQ+C,CAAC"}
|