Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


AndroidJSCore allows Android developers to use JavaScript natively in their apps.

Subscribe to updates I use AndroidJSCore

Statistics on AndroidJSCore

Number of watchers on Github 351
Number of open issues 9
Average time to close an issue about 1 month
Main language CMake
Average time to merge a PR about 16 hours
Open pull requests 1+
Closed pull requests 0+
Last commit about 2 years ago
Repo Created about 6 years ago
Repo Last Updated about 2 years ago
Size 70.7 MB
Organization / Authorericwlange
Latest Release3.0.1
Page Updated
Do you use AndroidJSCore? Leave a review!
View open issues (9)
View AndroidJSCore activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating AndroidJSCore for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


AndroidJSCore allows Android developers to use JavaScript natively in their apps.

AndroidJSCore is an Android Java JNI wrapper around Webkit's JavaScriptCore C library. It is inspired by the Objective-C JavaScriptCore Framework included natively in iOS 7 and above. Being able to natively use JavaScript in an app without requiring the use of JavaScript injection on a bloated, slow, security-constrained WebView is very useful for many types of apps, such as games or platforms that support plugins. However, its use is artificially limited because the framework is only supported on iOS. Most developers want to use technologies that will scale across both major mobile operating systems. AndroidJSCore was designed to support that requirement.


AndroidJSCore is DEPRECATED! All of this functionality and more is now maintained at its permanent home, LiquidCore. Please migrate to this version going forward.

Too see how to use LiquidCore as an AndroidJSCore replacement, read this document.

(For the old documentation, see here, but seriously, it's time to upgrade.)

AndroidJSCore open issues Ask a question     (View All Issues)
  • over 3 years JavaScript Syntax error
  • over 3 years How to debug JS
  • over 3 years Multithreading and deadlock
  • over 3 years How can I cancel evaluateScript execution on infinite loops?
  • over 3 years Work around for JSObject slowness... JSON strings?
  • over 3 years Running a 20k lines JS file make app no response
  • almost 4 years Optimizing library
AndroidJSCore open pull requests (View All Pulls)
  • fix example for newest gradle
AndroidJSCore list of languages used
AndroidJSCore latest release notes
3.0.1 AndroidJSCore-3.0.1

Go get it at JitPack!


  • Combined all javascriptcore libraries into a single .so
  • Fixed issue #27 (Confirmed that it plays nice with React Native)
  • Fixed issue #22 (Removed use of libgnustl_shared.so and instead used static version)
  • Closed issues #28 (does not work for my purposes)
  • Fixed issue where legacy versions of Android might crash
3.0.0 AndroidJSCore-3.0.0

Official 3.0.0 release

  • Completed instrumentation tests
  • Typed arrays complete
  • Cleaned up APIs

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }

Step 2. Add the AndroidJSCore dependency

dependencies {
        compile 'com.github.ericwlange:AndroidJSCore:3.0.0'

Please see the Javadocs for detailed API documentation.

3.0-pre2 AndroidJSCore-3.0-pre2

Please upgrade to this version.

  • Finally fixed the hanging bug for reals
  • Correctly set package as org.liquidplayer.webkit.javascriptcore
  • Fixed bug where JS and Java garbage collectors could get out of sync
  • Completely revamped JSArray implementation that implements both Java java.util.List and all the JavaScript functions; now parameterized for convenience (your previous JSArray implementations will break -- sorry)
  • Full Java support for typed arrays (tests not complete)
  • This version is substantially faster than previous versions when run outside of the main thread

To use, simply download AndroidJSCore-3.0-pre2-release.aar, drop it into your project somewhere (e.g. libs/), and add the following to your app's build.gradle:

repositories {
    flatDir {
        dirs 'libs'

dependencies {
    compile(name:'AndroidJSCore-3.0-pre2-release', ext:'aar')

Please see the Javadocs for detailed API documentation.

Once 3.0 is fully tested and debugged, I will add it to a remote repository, simplifying the process further.

Other projects in CMake