crashpad_main.cc 963 B

12345678910111213141516171819202122232425
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "base/android/jni_array.h"
  5. #include "base/android/jni_string.h"
  6. #include "components/crash/android/java_handler_jni_headers/CrashpadMain_jni.h"
  7. #include "third_party/crashpad/crashpad/client/client_argv_handling.h"
  8. #include "third_party/crashpad/crashpad/handler/handler_main.h"
  9. namespace crashpad {
  10. static void JNI_CrashpadMain_CrashpadMain(
  11. JNIEnv* env,
  12. const base::android::JavaParamRef<jobjectArray>& j_argv) {
  13. std::vector<std::string> argv_strings;
  14. base::android::AppendJavaStringArrayToStringVector(env, j_argv,
  15. &argv_strings);
  16. std::vector<const char*> argv;
  17. StringVectorToCStringVector(argv_strings, &argv);
  18. CrashpadHandlerMain(argv.size() - 1, const_cast<char**>(argv.data()));
  19. }
  20. } // namespace crashpad