TransportSetup() {
#ifdef _WIN32
    // Use extern instead of including sysdeps.h which brings in various macros
    // that conflict with APIs used in this file.
    extern void adb_sysdeps_init(void);
    adb_sysdeps_init();
#else
    // adb_sysdeps_init() is an inline function that we cannot link against.
#endif
  }
// TODO(danalbert): Split this file up into adb_main.cpp and adbd_main.cpp.
int main(int argc, char **argv) {
#if ADB_HOST
    // adb client/server
    adb_sysdeps_init();
    adb_trace_init();
    D("Handling commandline()\n");
    return adb_commandline(argc - 1, const_cast<const char**>(argv + 1));
#else
    // adbd
    while (true) {
        static struct option opts[] = {
            {"root_seclabel", required_argument, nullptr, 's'},
            {"device_banner", required_argument, nullptr, 'b'},
            {"version", no_argument, nullptr, 'v'},
        };

        int option_index = 0;
        int c = getopt_long(argc, argv, "", opts, &option_index);
        if (c == -1)
            break;
        switch (c) {
        case 's':
            root_seclabel = optarg;
            break;
        case 'b':
            adb_device_banner = optarg;
            break;
        case 'v':
            printf("Android Debug Bridge Daemon version %d.%d.%d %s\n",
                   ADB_VERSION_MAJOR, ADB_VERSION_MINOR, ADB_SERVER_VERSION,
                   ADB_REVISION);
            return 0;
        default:
            break;
        }
    }

    recovery_mode = (strcmp(adb_device_banner, "recovery") == 0);

    close_stdin();

    adb_trace_init();

    /* If adbd runs inside the emulator this will enable adb tracing via
     * adb-debug qemud service in the emulator. */
    adb_qemu_trace_init();

    D("Handling main()\n");
    return adb_main(0, DEFAULT_ADB_PORT);
#endif
}
Beispiel #3
0
int main(int argc, char *argv[])
{

#ifndef __WIN32
    signal(SIGINT,&signal_handler);
    signal(SIGABRT, &signal_handler);
    signal(SIGTERM, &signal_handler);
#endif

    adb_sysdeps_init();
    adb_trace_init();

//    D("Handling commandline()\n");
    return adb_commandline(argc - 1, argv + 1);
}
Beispiel #4
0
int main(int argc, char **argv)
{
#if ADB_HOST
    adb_trace_init();
    adb_sysdeps_init();
    return adb_commandline(argc - 1, argv + 1);
#else
    if((argc > 1) && (!strcmp(argv[1],"recovery"))) {
        adb_device_banner = "recovery";
        recovery_mode = 1;
    }

    start_device_log();
    return adb_main(0, DEFAULT_ADB_PORT);
#endif
}
Beispiel #5
0
BOOL CADBTestCEDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标
	setMainDialogPointer(this);
	// TODO: 在此添加额外的初始化代码
	adb_sysdeps_init();
    adb_trace_init();
	HANDLE serverHandle = CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)startServer, NULL, NULL,NULL);
	m_displayInfo.SetWindowTextW(L"appstart!");
	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
Beispiel #6
0
int main(int argc, char **argv)
{
    if (argc > 1) {
      D("IN HERE\n");
      if (!strcmp(argv[1], "lib")) {
        adb_main(0, 5037, 1);
        while (1) {
          Sleep(10);
        }
      }
    }
    //debugLog = fopen("/tmp/adb.log.debug", "a+");
    //fprintf(debugLog, "-- hit main()");
    adb_sysdeps_init();
    adb_trace_init();
    D("Handling commandline()\n");
    printf("Commandline support has been turned off\n");
    // return adb_commandline(argc - 1, argv + 1);
    return 0;
}
int main(int argc, char **argv) {
#if ADB_HOST
    adb_sysdeps_init();
#else
    close_stdin();
#endif
    adb_trace_init();

#if ADB_HOST
    D("Handling commandline()\n");
    return adb_commandline(argc - 1, const_cast<const char**>(argv + 1));
#else
    /* If adbd runs inside the emulator this will enable adb tracing via
     * adb-debug qemud service in the emulator. */
    adb_qemu_trace_init();
    while (true) {
        int c;
        int option_index = 0;
        static struct option opts[] = {
            {"root_seclabel", required_argument, 0, 's' },
            {"device_banner", required_argument, 0, 'b' }
        };
        c = getopt_long(argc, argv, "", opts, &option_index);
        if (c == -1)
            break;
        switch (c) {
        case 's':
            root_seclabel = optarg;
            break;
        case 'b':
            adb_device_banner = optarg;
            break;
        default:
            break;
        }
    }

    D("Handling main()\n");
    return adb_main(0, DEFAULT_ADB_PORT);
#endif
}
int main(int argc, char **argv)
{
#if ADB_HOST
    adb_sysdeps_init();
    adb_trace_init();
    D("Handling commandline()\n");
    return adb_commandline(argc - 1, argv + 1);
#else
    /* If adbd runs inside the emulator this will enable adb tracing via
     * adb-debug qemud service in the emulator. */
    adb_qemu_trace_init();
    if((argc > 1) && (!strcmp(argv[1],"recovery"))) {
        adb_device_banner = "recovery";
        recovery_mode = 1;
    }

    start_device_log();
    D("Handling main()\n");
    return adb_main(0, DEFAULT_ADB_PORT);
#endif
}
Beispiel #9
0
int server_thread(void * args) {
  adb_sysdeps_init();

  struct adb_main_input* input = (struct adb_main_input*)args;
  int is_daemon = input->is_daemon;
  int server_port = input->server_port;
  int is_lib_call = input->is_lib_call;

  int exit_fd = input->exit_fd;

  void (*on_track_ready)() = input->on_track_ready;

  char * log_path = input->log_path;

#ifdef WIN32
  LOG_FILE = fopen(log_path, "w");
#endif

  if (is_lib_call) {
      transport_type ttype = kTransportAny;
      char* serial = NULL;
      serial = getenv("ANDROID_SERIAL");
      adb_set_transport(ttype, serial);
      adb_set_tcp_specifics(server_port);
    }

    D("!! C code has started\n");
    // atexit(adb_cleanup);
#ifdef HAVE_WIN32_PROC
    SetConsoleCtrlHandler( ctrlc_handler, TRUE );
#elif defined(HAVE_FORKEXEC)
    // No SIGCHLD. Let the service subproc handle its children.
    signal(SIGPIPE, SIG_IGN);
#endif

    init_transport_registration();

    HOST = 1;
    usb_vendors_init();
    D("Before USB init\n");
    usb_init();
    D("After USB init\n");
	#ifndef NO_AUTH
    adb_auth_init();
	#endif
	  D("After auth_init\n");


    char local_name[30];
    build_local_name(local_name, sizeof(local_name), server_port);
    if(install_listener(local_name, "*smartsocket*", NULL, 0)) {
        D("Error installing listener\n");
        return -1;
    }

    if (is_daemon)
    {
        // inform our parent that we are up and running.
#ifdef HAVE_WIN32_PROC
        DWORD  count;
        WriteFile( GetStdHandle( STD_OUTPUT_HANDLE ), "OK\n", 3, &count, NULL );
#elif defined(HAVE_FORKEXEC)
        fprintf(stderr, "OK\n");
#endif
        start_logging();
    }

    on_track_ready();

    D("Starting event loop...\n");
    fdevent_loop(exit_fd);
    D("Done with loop\n");

    for (int i = 0; i < _fds->length; i++) {
      D("Closing fd: %d at index: %d\n", _fds->base[i], i);
      adb_close(_fds->base[i]);
    }

    free_int_array_list(_fds);
    // usb_cleanup();

    return 0;
}
int main(int argc, char** argv) {
    adb_sysdeps_init();
    adb_trace_init(argv);
    return adb_commandline(argc - 1, const_cast<const char**>(argv + 1));
}
Beispiel #11
0
 DLL_EXPORT void initialize() {
   adb_sysdeps_init();
 }