Android ADB Tool, «вилка» не работает

Среда

  • Android 5.0 @ Samsung Galaxy 5
  • ADB @ Windows (x64)
  • Родной инструмент командной строки ADB

Использование регистра

Приложение, которое разветвляется и сразу выходит

Описание проблемы

Пока fork возвращает проппер pid_t вновь созданного процесса, фактический процесс не создается, ( ‘adb -d shell ps | оболочка findstr ‘ не показывает новый процесс)

Фрагмент кода

__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "\n");
pid_t pid = fork();
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "STARTED, pid = %d\n", pid);
if (0 != pid)
return S_OK;// Exits the parent process
HRESULT hr;
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "Initializing\n");
if (FAILED(hr = Initialize(pBaseAddress, wPort, uiMaxMessageSize)))
return hr;
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "Running modal loop\n");
hr = m_spIOCP->DoModal();
OnCleanup(hr);
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "STOPPED, pid = %d\n", pid);
return S_OK;

Выход Logcat

I/ScreenCapSvc(29062):
I/ScreenCapSvc(29062): STARTED, pid = 29064

Дополнительная информация

Если скорее они сразу выходят из родительского процесса, то я называю, например. sleep (2), чем дочерний процесс должным образом разветвлен, ОДНАКО, в то время как родительский процесс фактически завершается, ‘ADB -d shell’ никогда не завершается (остается бесконечным).

Ссылка по теме: https://stackoverflow.com/questions/28277361/android-adb-tool-c11-stdthread-usage

Что я делаю неправильно? почему процесс не развивается?

0

Решение

Задача ещё не решена.

Другие решения