TimGallin Ответов: 1

Есть ли интерфейсный документ об АБР(adbwinapi.dll и adbwinusbapi.dll)?


Я хочу использовать adb программно в своем проекте на c++.Я скачал исходный код с веб-сайта google,но нет никакого документа о том, как построить и использовать его в windows с помощью c или c++.Я не хочу использовать его с оболочкой или командной строкой.Например, я просто хочу реализовать функцию "adb devices" с моим кодом c++, так что же мне с этим делать?

Что я уже пробовал:

скачайте src-код, попробуйте назвать его динамическим,почти нет документа о том, как использовать его с c++.

1 Ответов

Рейтинг:
0

Jochen Arndt

Насколько я понимаю, вы хотите выполнять команды из своего приложения, например из клиента командной строки ADB.

Затем я бы посмотрел на источники клиента ADB, чтобы увидеть, как он взаимодействует с фоновым процессом сервера. Вместе с GitHub-cstyan/adbDocumentation: лучшая документация протокола ADB, специально для использования USB.[^] вы должны уметь общаться.

Иначе говоря:
Просто используйте клиентские источники ADB в своем проекте без main() реализация функций и вызов функций, как это делается main.

Пример для "устройств adb":
clinet/main.cpp[^]

return adb_commandline(argc - 1, const_cast<const char**>(argv + 1));

commandline.cpp[^]
if (!strcmp(argv[0], "devices")) {
    const char *listopt;
    if (argc < 2) {
        listopt = "";
    } else if (argc == 2 && !strcmp(argv[1], "-l")) {
        listopt = argv[1];
    } else {
        fprintf(stderr, "Usage: adb devices [-l]\n");
        return 1;
    }
    std::string query = android::base::StringPrintf("host:%s%s", argv[0], listopt);
    printf("List of devices attached\n");
    return adb_query_command(query);
}

Как вы можете видеть, он строит строку запроса и вызывает adb_query_command.