@yume-chan/android-bin 0.0.22 → 0.0.24
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.json +27 -0
- package/CHANGELOG.md +16 -1
- package/LICENSE +1 -1
- package/esm/am.js +2 -2
- package/esm/am.js.map +1 -1
- package/esm/bu.d.ts +2 -2
- package/esm/bu.d.ts.map +1 -1
- package/esm/bu.js +2 -2
- package/esm/bu.js.map +1 -1
- package/esm/bug-report.js +3 -3
- package/esm/bug-report.js.map +1 -1
- package/esm/cmd.d.ts +12 -0
- package/esm/cmd.d.ts.map +1 -1
- package/esm/cmd.js +19 -7
- package/esm/cmd.js.map +1 -1
- package/esm/dumpsys.d.ts +19 -11
- package/esm/dumpsys.d.ts.map +1 -1
- package/esm/dumpsys.js +45 -46
- package/esm/dumpsys.js.map +1 -1
- package/esm/logcat.d.ts.map +1 -1
- package/esm/logcat.js +3 -2
- package/esm/logcat.js.map +1 -1
- package/esm/pm.d.ts +38 -3
- package/esm/pm.d.ts.map +1 -1
- package/esm/pm.js +170 -31
- package/esm/pm.js.map +1 -1
- package/esm/string-format.d.ts.map +1 -1
- package/esm/string-format.js +0 -1
- package/esm/string-format.js.map +1 -1
- package/package.json +11 -13
- package/src/am.ts +2 -2
- package/src/bu.ts +4 -4
- package/src/bug-report.ts +3 -3
- package/src/cmd.ts +19 -7
- package/src/dumpsys.ts +74 -50
- package/src/logcat.ts +4 -3
- package/src/pm.ts +214 -40
- package/src/string-format.ts +0 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/esm/pm.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Adb } from "@yume-chan/adb";
|
|
2
2
|
import { AdbCommandBase } from "@yume-chan/adb";
|
|
3
|
-
import type {
|
|
3
|
+
import type { MaybeConsumable, ReadableStream } from "@yume-chan/stream-extra";
|
|
4
4
|
import type { IntentBuilder } from "./intent.js";
|
|
5
5
|
import type { SingleUserOrAll } from "./utils.js";
|
|
6
6
|
export declare enum PackageManagerInstallLocation {
|
|
@@ -156,6 +156,11 @@ export interface PackageManagerUninstallOptions {
|
|
|
156
156
|
keepData: boolean;
|
|
157
157
|
user: SingleUserOrAll;
|
|
158
158
|
versionCode: number;
|
|
159
|
+
/**
|
|
160
|
+
* Only remove the specified splits, not the entire app
|
|
161
|
+
*
|
|
162
|
+
* On Android 10 and lower, only one split name can be specified.
|
|
163
|
+
*/
|
|
159
164
|
splitNames: string[];
|
|
160
165
|
}
|
|
161
166
|
export interface PackageManagerResolveActivityOptions {
|
|
@@ -165,12 +170,42 @@ export interface PackageManagerResolveActivityOptions {
|
|
|
165
170
|
export declare class PackageManager extends AdbCommandBase {
|
|
166
171
|
#private;
|
|
167
172
|
constructor(adb: Adb);
|
|
173
|
+
/**
|
|
174
|
+
* Install the apk file.
|
|
175
|
+
*
|
|
176
|
+
* @param apks Path to the apk file. It must exist on the device. On Android 10 and lower, only one apk can be specified.
|
|
177
|
+
*/
|
|
168
178
|
install(apks: string[], options?: Partial<PackageManagerInstallOptions>): Promise<string>;
|
|
169
|
-
pushAndInstallStream(stream: ReadableStream<
|
|
170
|
-
installStream(size: number, stream: ReadableStream<
|
|
179
|
+
pushAndInstallStream(stream: ReadableStream<MaybeConsumable<Uint8Array>>, options?: Partial<PackageManagerInstallOptions>): Promise<void>;
|
|
180
|
+
installStream(size: number, stream: ReadableStream<MaybeConsumable<Uint8Array>>, options?: Partial<PackageManagerInstallOptions>): Promise<void>;
|
|
171
181
|
static parsePackageListItem(line: string): PackageManagerListPackagesResult;
|
|
172
182
|
listPackages(options?: Partial<PackageManagerListPackagesOptions>): AsyncGenerator<PackageManagerListPackagesResult, void, void>;
|
|
173
183
|
uninstall(packageName: string, options?: Partial<PackageManagerUninstallOptions>): Promise<void>;
|
|
174
184
|
resolveActivity(options: PackageManagerResolveActivityOptions): Promise<string | undefined>;
|
|
185
|
+
/**
|
|
186
|
+
* Creates a new install session.
|
|
187
|
+
*
|
|
188
|
+
* Install sessions are used to install apps with multiple splits, but it can also be used to install a single apk.
|
|
189
|
+
*
|
|
190
|
+
* Install sessions was added in Android 5.0 (API level 21).
|
|
191
|
+
*
|
|
192
|
+
* @param options Options for the install session
|
|
193
|
+
* @returns ID of the new install session
|
|
194
|
+
*/
|
|
195
|
+
sessionCreate(options?: Partial<PackageManagerInstallOptions>): Promise<number>;
|
|
196
|
+
sessionAddSplit(sessionId: number, splitName: string, path: string): Promise<void>;
|
|
197
|
+
sessionAddSplitStream(sessionId: number, splitName: string, size: number, stream: ReadableStream<MaybeConsumable<Uint8Array>>): Promise<void>;
|
|
198
|
+
sessionCommit(sessionId: number): Promise<void>;
|
|
199
|
+
sessionAbandon(sessionId: number): Promise<void>;
|
|
200
|
+
}
|
|
201
|
+
export declare class PackageManagerInstallSession {
|
|
202
|
+
#private;
|
|
203
|
+
static create(packageManager: PackageManager, options?: Partial<PackageManagerInstallOptions>): Promise<PackageManagerInstallSession>;
|
|
204
|
+
get id(): number;
|
|
205
|
+
constructor(packageManager: PackageManager, id: number);
|
|
206
|
+
addSplit(splitName: string, path: string): Promise<void>;
|
|
207
|
+
addSplitStream(splitName: string, size: number, stream: ReadableStream<MaybeConsumable<Uint8Array>>): Promise<void>;
|
|
208
|
+
commit(): Promise<void>;
|
|
209
|
+
abandon(): Promise<void>;
|
|
175
210
|
}
|
|
176
211
|
//# sourceMappingURL=pm.d.ts.map
|
package/esm/pm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm.d.ts","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"pm.d.ts","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
|
package/esm/pm.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// cspell:ignore instantapp
|
|
3
3
|
// cspell:ignore apks
|
|
4
4
|
// cspell:ignore versioncode
|
|
5
|
-
import { AdbCommandBase,
|
|
6
|
-
import { ConcatStringStream,
|
|
5
|
+
import { AdbCommandBase, escapeArg } from "@yume-chan/adb";
|
|
6
|
+
import { ConcatStringStream, SplitStringStream, TextDecoderStream, } from "@yume-chan/stream-extra";
|
|
7
7
|
import { Cmd } from "./cmd.js";
|
|
8
8
|
import { buildArguments } from "./utils.js";
|
|
9
9
|
export var PackageManagerInstallLocation;
|
|
@@ -79,11 +79,31 @@ export class PackageManager extends AdbCommandBase {
|
|
|
79
79
|
super(adb);
|
|
80
80
|
this.#cmd = new Cmd(adb);
|
|
81
81
|
}
|
|
82
|
-
#buildInstallArguments(options) {
|
|
83
|
-
|
|
82
|
+
#buildInstallArguments(command, options) {
|
|
83
|
+
const args = buildArguments(["pm", command], options, PACKAGE_MANAGER_INSTALL_OPTIONS_MAP);
|
|
84
|
+
if (!options?.skipExisting) {
|
|
85
|
+
/*
|
|
86
|
+
* | behavior | previous version | modern version |
|
|
87
|
+
* | -------------------- | -------------------- | -------------------- |
|
|
88
|
+
* | replace existing app | requires `-r` | default behavior [1] |
|
|
89
|
+
* | skip existing app | default behavior [2] | requires `-R` |
|
|
90
|
+
*
|
|
91
|
+
* [1]: `-r` recognized but ignored)
|
|
92
|
+
* [2]: `-R` not recognized but ignored
|
|
93
|
+
*
|
|
94
|
+
* So add `-r` when `skipExisting` is `false` for compatibility.
|
|
95
|
+
*/
|
|
96
|
+
args.push("-r");
|
|
97
|
+
}
|
|
98
|
+
return args;
|
|
84
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
|
+
*/
|
|
85
105
|
async install(apks, options) {
|
|
86
|
-
const args = this.#buildInstallArguments(options);
|
|
106
|
+
const args = this.#buildInstallArguments("install", options);
|
|
87
107
|
// WIP: old version of pm doesn't support multiple apks
|
|
88
108
|
args.push(...apks);
|
|
89
109
|
return await this.adb.subprocess.spawnAndWaitLegacy(args);
|
|
@@ -101,39 +121,47 @@ export class PackageManager extends AdbCommandBase {
|
|
|
101
121
|
finally {
|
|
102
122
|
await sync.dispose();
|
|
103
123
|
}
|
|
104
|
-
// Starting from Android 7, `pm`
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
|
|
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 = this.#buildInstallArguments("install", options);
|
|
109
134
|
args.push(filePath);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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);
|
|
120
145
|
}
|
|
121
146
|
}
|
|
122
147
|
async installStream(size, stream, options) {
|
|
123
148
|
// Android 7 added both `cmd` command and streaming install support,
|
|
124
|
-
//
|
|
125
|
-
// so
|
|
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.
|
|
126
152
|
if (!this.#cmd.supportsCmd) {
|
|
153
|
+
// Fall back to push file then install
|
|
127
154
|
await this.pushAndInstallStream(stream, options);
|
|
128
155
|
return;
|
|
129
156
|
}
|
|
130
|
-
const args = this.#buildInstallArguments(options);
|
|
131
|
-
// Remove `pm` from args,
|
|
157
|
+
const args = this.#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>`
|
|
132
160
|
args.shift();
|
|
133
161
|
args.push("-S", size.toString());
|
|
134
162
|
const process = await this.#cmd.spawn(false, "package", ...args);
|
|
135
163
|
const output = process.stdout
|
|
136
|
-
.pipeThrough(new
|
|
164
|
+
.pipeThrough(new TextDecoderStream())
|
|
137
165
|
.pipeThrough(new ConcatStringStream())
|
|
138
166
|
.then((output) => output.trim());
|
|
139
167
|
await Promise.all([
|
|
@@ -145,7 +173,6 @@ export class PackageManager extends AdbCommandBase {
|
|
|
145
173
|
}),
|
|
146
174
|
]);
|
|
147
175
|
}
|
|
148
|
-
// TODO: install: support split apk formats (`adb install-multiple`)
|
|
149
176
|
static parsePackageListItem(line) {
|
|
150
177
|
line = line.substring("package:".length);
|
|
151
178
|
let packageName;
|
|
@@ -153,7 +180,7 @@ export class PackageManager extends AdbCommandBase {
|
|
|
153
180
|
let versionCode;
|
|
154
181
|
let installer;
|
|
155
182
|
let uid;
|
|
156
|
-
//
|
|
183
|
+
// The output format is easier to parse in backwards
|
|
157
184
|
let index = line.indexOf(" uid:");
|
|
158
185
|
if (index !== -1) {
|
|
159
186
|
uid = Number.parseInt(line.substring(index + " uid:".length), 10);
|
|
@@ -169,7 +196,9 @@ export class PackageManager extends AdbCommandBase {
|
|
|
169
196
|
versionCode = Number.parseInt(line.substring(index + " versionCode:".length), 10);
|
|
170
197
|
line = line.substring(0, index);
|
|
171
198
|
}
|
|
172
|
-
// `sourceDir` may contain `=`
|
|
199
|
+
// `sourceDir` may contain `=` characters
|
|
200
|
+
// (because in newer Android versions it's a base64 string of encrypted package name),
|
|
201
|
+
// so use `lastIndexOf`
|
|
173
202
|
index = line.lastIndexOf("=");
|
|
174
203
|
if (index !== -1) {
|
|
175
204
|
sourceDir = line.substring(0, index);
|
|
@@ -200,7 +229,10 @@ export class PackageManager extends AdbCommandBase {
|
|
|
200
229
|
}
|
|
201
230
|
const process = await this.#cmdOrSubprocess(args);
|
|
202
231
|
const reader = process.stdout
|
|
203
|
-
.pipeThrough(new
|
|
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.
|
|
204
236
|
.pipeThrough(new SplitStringStream("\n"))
|
|
205
237
|
.getReader();
|
|
206
238
|
while (true) {
|
|
@@ -219,7 +251,7 @@ export class PackageManager extends AdbCommandBase {
|
|
|
219
251
|
}
|
|
220
252
|
const process = await this.#cmdOrSubprocess(args);
|
|
221
253
|
const output = await process.stdout
|
|
222
|
-
.pipeThrough(new
|
|
254
|
+
.pipeThrough(new TextDecoderStream())
|
|
223
255
|
.pipeThrough(new ConcatStringStream())
|
|
224
256
|
.then((output) => output.trim());
|
|
225
257
|
if (output !== "Success") {
|
|
@@ -231,7 +263,7 @@ export class PackageManager extends AdbCommandBase {
|
|
|
231
263
|
args = args.concat(options.intent.build());
|
|
232
264
|
const process = await this.#cmdOrSubprocess(args);
|
|
233
265
|
const output = await process.stdout
|
|
234
|
-
.pipeThrough(new
|
|
266
|
+
.pipeThrough(new TextDecoderStream())
|
|
235
267
|
.pipeThrough(new ConcatStringStream())
|
|
236
268
|
.then((output) => output.trim());
|
|
237
269
|
if (output === "No activity found") {
|
|
@@ -239,5 +271,112 @@ export class PackageManager extends AdbCommandBase {
|
|
|
239
271
|
}
|
|
240
272
|
return output;
|
|
241
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 = this.#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
|
+
}
|
|
242
381
|
}
|
|
243
382
|
//# sourceMappingURL=pm.js.map
|
package/esm/pm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-format.d.ts","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"
|
|
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;uCACyB,CAAC,KAAG,OAAO,CAAC,CAAC;kBAYpC,OAAO,MAAM,CAAC;;gCA6CX,MAAM;;;cAsDH,MAAM;gBAAU,OAAO,OAAO,CAAC;;4DA8B1B,CAAC,mBACH,CAAC,aACnB,OAAO,CAAC,CAAC;CAQ+C,CAAC"}
|
package/esm/string-format.js
CHANGED
package/esm/string-format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-format.js","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"string-format.js","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yume-chan/android-bin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"description": "Wrappers for Android built-in executables.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adb",
|
|
@@ -25,26 +25,24 @@
|
|
|
25
25
|
"main": "esm/index.js",
|
|
26
26
|
"types": "esm/index.d.ts",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@yume-chan/adb": "^0.0.
|
|
29
|
-
"@yume-chan/stream-extra": "^0.0.
|
|
30
|
-
"@yume-chan/struct": "^0.0.
|
|
31
|
-
"tslib": "^2.6.2"
|
|
28
|
+
"@yume-chan/adb": "^0.0.24",
|
|
29
|
+
"@yume-chan/stream-extra": "^0.0.24",
|
|
30
|
+
"@yume-chan/struct": "^0.0.24"
|
|
32
31
|
},
|
|
33
32
|
"devDependencies": {
|
|
34
|
-
"@jest/globals": "^
|
|
33
|
+
"@jest/globals": "^30.0.0-alpha.4",
|
|
35
34
|
"@yume-chan/eslint-config": "^1.0.0",
|
|
36
35
|
"@yume-chan/tsconfig": "^1.0.0",
|
|
37
36
|
"cross-env": "^7.0.3",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"typescript": "^5.3.2"
|
|
37
|
+
"jest": "^30.0.0-alpha.4",
|
|
38
|
+
"prettier": "^3.3.2",
|
|
39
|
+
"ts-jest": "^29.1.4",
|
|
40
|
+
"typescript": "^5.4.5"
|
|
43
41
|
},
|
|
44
42
|
"scripts": {
|
|
45
43
|
"build": "tsc -b tsconfig.build.json",
|
|
46
44
|
"build:watch": "tsc -b tsconfig.build.json",
|
|
47
|
-
"test": "cross-env NODE_OPTIONS
|
|
48
|
-
"lint": "eslint
|
|
45
|
+
"test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" TS_JEST_DISABLE_VER_CHECKER=true jest --coverage",
|
|
46
|
+
"lint": "run-eslint && prettier src/**/*.ts --write --tab-width 4"
|
|
49
47
|
}
|
|
50
48
|
}
|
package/src/am.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Adb } from "@yume-chan/adb";
|
|
2
2
|
import { AdbCommandBase } from "@yume-chan/adb";
|
|
3
|
-
import { ConcatStringStream,
|
|
3
|
+
import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
|
|
4
4
|
|
|
5
5
|
import { Cmd } from "./cmd.js";
|
|
6
6
|
import type { IntentBuilder } from "./intent.js";
|
|
@@ -53,7 +53,7 @@ export class ActivityManager extends AdbCommandBase {
|
|
|
53
53
|
const process = await this.#cmdOrSubprocess(args);
|
|
54
54
|
|
|
55
55
|
const output = await process.stdout
|
|
56
|
-
.pipeThrough(new
|
|
56
|
+
.pipeThrough(new TextDecoderStream())
|
|
57
57
|
.pipeThrough(new ConcatStringStream())
|
|
58
58
|
.then((output) => output.trim());
|
|
59
59
|
|
package/src/bu.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AdbCommandBase } from "@yume-chan/adb";
|
|
2
|
-
import type {
|
|
3
|
-
import { ConcatStringStream,
|
|
2
|
+
import type { MaybeConsumable, ReadableStream } from "@yume-chan/stream-extra";
|
|
3
|
+
import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
|
|
4
4
|
|
|
5
5
|
export interface AdbBackupOptions {
|
|
6
6
|
user: number;
|
|
@@ -15,7 +15,7 @@ export interface AdbBackupOptions {
|
|
|
15
15
|
|
|
16
16
|
export interface AdbRestoreOptions {
|
|
17
17
|
user: number;
|
|
18
|
-
file: ReadableStream<
|
|
18
|
+
file: ReadableStream<MaybeConsumable<Uint8Array>>;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export class AdbBackup extends AdbCommandBase {
|
|
@@ -71,7 +71,7 @@ export class AdbBackup extends AdbCommandBase {
|
|
|
71
71
|
const process = await this.adb.subprocess.spawn(args);
|
|
72
72
|
const [output] = await Promise.all([
|
|
73
73
|
process.stdout
|
|
74
|
-
.pipeThrough(new
|
|
74
|
+
.pipeThrough(new TextDecoderStream())
|
|
75
75
|
.pipeThrough(new ConcatStringStream()),
|
|
76
76
|
options.file.pipeTo(process.stdin),
|
|
77
77
|
]);
|
package/src/bug-report.ts
CHANGED
|
@@ -6,9 +6,9 @@ import { AdbCommandBase, AdbSubprocessShellProtocol } from "@yume-chan/adb";
|
|
|
6
6
|
import type { AbortSignal, ReadableStream } from "@yume-chan/stream-extra";
|
|
7
7
|
import {
|
|
8
8
|
AbortController,
|
|
9
|
-
DecodeUtf8Stream,
|
|
10
9
|
PushReadableStream,
|
|
11
10
|
SplitStringStream,
|
|
11
|
+
TextDecoderStream,
|
|
12
12
|
WrapReadableStream,
|
|
13
13
|
WritableStream,
|
|
14
14
|
} from "@yume-chan/stream-extra";
|
|
@@ -212,7 +212,7 @@ export class BugReport extends AdbCommandBase {
|
|
|
212
212
|
let error: string | undefined;
|
|
213
213
|
|
|
214
214
|
await process.stdout
|
|
215
|
-
.pipeThrough(new
|
|
215
|
+
.pipeThrough(new TextDecoderStream())
|
|
216
216
|
.pipeThrough(new SplitStringStream("\n"))
|
|
217
217
|
.pipeTo(
|
|
218
218
|
new WritableStream<string>({
|
|
@@ -278,7 +278,7 @@ export class BugReport extends AdbCommandBase {
|
|
|
278
278
|
controller.error(e);
|
|
279
279
|
});
|
|
280
280
|
process.stderr
|
|
281
|
-
.pipeThrough(new
|
|
281
|
+
.pipeThrough(new TextDecoderStream())
|
|
282
282
|
.pipeTo(
|
|
283
283
|
new WritableStream({
|
|
284
284
|
write(chunk) {
|
package/src/cmd.ts
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AdbSubprocessNoneProtocol,
|
|
11
11
|
AdbSubprocessShellProtocol,
|
|
12
12
|
} from "@yume-chan/adb";
|
|
13
|
-
import { ConcatStringStream,
|
|
13
|
+
import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
|
|
14
14
|
|
|
15
15
|
export class Cmd extends AdbCommandBase {
|
|
16
16
|
#supportsShellV2: boolean;
|
|
@@ -35,12 +35,24 @@ export class Cmd extends AdbCommandBase {
|
|
|
35
35
|
|
|
36
36
|
constructor(adb: Adb) {
|
|
37
37
|
super(adb);
|
|
38
|
-
this.#supportsShellV2 = adb.
|
|
39
|
-
this.#supportsCmd = adb.
|
|
40
|
-
this.#supportsAbb = adb.
|
|
41
|
-
this.#supportsAbbExec = adb.
|
|
38
|
+
this.#supportsShellV2 = adb.canUseFeature(AdbFeature.ShellV2);
|
|
39
|
+
this.#supportsCmd = adb.canUseFeature(AdbFeature.Cmd);
|
|
40
|
+
this.#supportsAbb = adb.canUseFeature(AdbFeature.Abb);
|
|
41
|
+
this.#supportsAbbExec = adb.canUseFeature(AdbFeature.AbbExec);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Spawn a new `cmd` command. It will use ADB's `abb` command if available.
|
|
46
|
+
*
|
|
47
|
+
* @param shellProtocol
|
|
48
|
+
* Whether to use shell protocol. If `true`, `stdout` and `stderr` will be separated.
|
|
49
|
+
*
|
|
50
|
+
* `cmd` doesn't use PTY, so even when shell protocol is used,
|
|
51
|
+
* resizing terminal size and closing `stdin` are not supported.
|
|
52
|
+
* @param command The command to run.
|
|
53
|
+
* @param args The arguments to pass to the command.
|
|
54
|
+
* @returns An `AdbSubprocessProtocol` that provides output streams.
|
|
55
|
+
*/
|
|
44
56
|
async spawn(
|
|
45
57
|
shellProtocol: boolean,
|
|
46
58
|
command: string,
|
|
@@ -84,10 +96,10 @@ export class Cmd extends AdbCommandBase {
|
|
|
84
96
|
|
|
85
97
|
const [stdout, stderr, exitCode] = await Promise.all([
|
|
86
98
|
process.stdout
|
|
87
|
-
.pipeThrough(new
|
|
99
|
+
.pipeThrough(new TextDecoderStream())
|
|
88
100
|
.pipeThrough(new ConcatStringStream()),
|
|
89
101
|
process.stderr
|
|
90
|
-
.pipeThrough(new
|
|
102
|
+
.pipeThrough(new TextDecoderStream())
|
|
91
103
|
.pipeThrough(new ConcatStringStream()),
|
|
92
104
|
process.exit,
|
|
93
105
|
]);
|