31 lines
881 B
JavaScript
31 lines
881 B
JavaScript
import { loadPackageDefinition, credentials } from '@grpc/grpc-js';
|
|
import { loadSync } from '@grpc/proto-loader';
|
|
|
|
let PROTO_PATH = '/opt/android-sdk-linux/emulator/lib/emulator_controller.proto';
|
|
let packageDefinition = loadSync(
|
|
PROTO_PATH,
|
|
{keepCase: true,
|
|
longs: String,
|
|
enums: String,
|
|
defaults: true,
|
|
oneofs: true
|
|
});
|
|
|
|
let emu_control = loadPackageDefinition(packageDefinition).android.emulation.control;
|
|
|
|
export async function get_screenshot() {
|
|
let target = 'localhost:8888';
|
|
let emu_controller = new emu_control.EmulatorController(target,
|
|
credentials.createInsecure());
|
|
let promise = new Promise((resolve, reject) => {
|
|
emu_controller.getScreenshot({}, function(err, response) {
|
|
if (err === null) {
|
|
resolve (response.image);
|
|
} else {
|
|
reject (err);
|
|
}
|
|
});
|
|
});
|
|
return promise;
|
|
}
|