skia2/modules/androidkit
Florin Malita 8bad8f76c3 [androidkit] Register native methods explicitly
Use RegisterNatives() to bind native methods, instead of relying on
dynamic linker naming conventions.

Change-Id: I602f2efe73e3b9c3c7dfaf7af2307dcfb4cd935e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396016
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-04-13 15:29:19 +00:00
..
src [androidkit] Register native methods explicitly 2021-04-13 15:29:19 +00:00
README [androidkit] Split Canvas backing store into Surface 2021-04-13 13:56:04 +00:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

AndroidKit is an AAR, or Android Library, that compiles Skia's native code, 
JNI bindings, and Java wrapper classes into a shared library.

BUILDING

1) Through Android Studio
-  Start a project by opening skia/platform_tools/android/apps with Android Studio.
-  Ensure that you're local.properties file is filled out with paths to your 
   Skia out directories. It should look like this:

   sdk.dir=[sdk file path]
   depot_tools.dir=[depot tools file path]
   x86.out.dir=[out file for x86]
   x64.out.dir=[out file for x64]
   arm64.out.dir=[out file for xarm64]
   arm.out.dir=[out file for arm]

-  Click on AndroidKit on the project tree, click Build in the toolbar, and select
   " Make Module 'apps.androidkit' "
-  The AAR will be under the build/outputs/aar directory.

2) Through the terminal
-  Run: platform_tools/android/bin/android_build_app -C  out/[out_dir] androidkit
-  If it builds with no errors, youll find the AAR in the out directory you were building from


LOADING

Before using AndroidKit classes, client applications must explicitly load the native library.
This is usually accomplished via a static class initializer, e.g.

  public class MyApp {
      static {
          System.loadLibrary("androidkit");
      }

      ...
  }