Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
main_android.cpp File Reference
#include <jni.h>
#include <errno.h>
#include <android_native_app_glue.h>
#include "tools/sk_app/Application.h"
#include "tools/timer/Timer.h"

Go to the source code of this file.

Functions

void android_main (struct android_app *state)
 

Function Documentation

◆ android_main()

void android_main ( struct android_app *  state)

This is the main entry point of a native application that is using android_native_app_glue. It runs in its own thread, with its own event loop for receiving input events and doing other things.

Definition at line 23 of file main_android.cpp.

23 {
24 // Make sure glue isn't stripped.
25 app_dummy();
26
27 static const char* gCmdLine[] = {
28 "viewer",
29 "--skps",
30 "/data/local/tmp/skps",
31 // TODO: figure out how to use am start with extra params to pass in additional arguments at
32 // runtime
33 // "--atrace",
34 };
35
36 std::unique_ptr<Application> vkApp(Application::Create(std::size(gCmdLine),
37 const_cast<char**>(gCmdLine),
38 state));
39
40 // loop waiting for stuff to do.
41 while (1) {
42 // Read all pending events.
43 int ident;
44 int events;
45 struct android_poll_source* source;
46
47 // block forever waiting for events.
48 while ((ident=ALooper_pollAll(-1, nullptr, &events,
49 (void**)&source)) >= 0) {
50
51 // Process this event.
52 if (source != nullptr) {
53 source->process(state, source);
54 }
55
56 // Check if we are exiting.
57 if (state->destroyRequested != 0) {
58 return;
59 }
60
61 vkApp->onIdle();
62 }
63 }
64}
SkBitmap source
Definition examples.cpp:28
AtkStateType state