J2V8 For Android,j2v8forandroid

來源:互聯網
上載者:User

J2V8 For Android,j2v8forandroid

  J2V8是基於Google的JavaScript引擎V8的Java開源項目,實現Java和JavaScript的相互調用。並對Android平台提供支援,最新版本提供了aar格式的類庫包方便Android Studio整合。

  一、下載並為Android Studio配置j2v8庫

  J2V8開源項目在github的地址為:https://github.com/eclipsesource/J2V8,下載源碼可以按照說明自行編譯。也可直接使用官方編譯好的aar格式的類庫直接整合,:http://central.maven.org/maven2/com/eclipsesource/j2v8/j2v8/4.2.0/。這裡是最新版本的,版本號碼為:4.2.0,其對應的V8引擎的版本號碼為:4.10.253。

  1.下載後解壓可得到一個aar格式的檔案,修改名稱為:j2v8.aar,並放到工程目錄下的lib檔案夾中,如:

repositories { flatDir { dirs 'libs' }}


  dependencies下添加如下一行內容:
compile(name:'j2v8', ext:'aar')

  修改後的build.gradle檔案如下,其中標識部分為新增內容:

1 public class J2V8TestCase {2 public void print(String str) {3 System.out.println(str);4 }5 6 public int jia(int a, int b) {7 return a + b;8 }9 }

 

  編寫J2V8橋接代碼,如下:

 1     //工具類添加處理 2     public void testStaticClass() { 3         V8 v8 = V8.createV8Runtime(); 4  5         String v = V8.getV8Version(); 6         System.out.println(v); 7  8         V8Object testUtil = new V8Object(v8); 9         v8.add("TestUtil", testUtil);10         testUtil.add("name", "test1");11 12         testUtil.registerJavaMethod(new J2V8TestCase(), "jia", "native_jia",new Class[]{int.class, int.class});13         testUtil.registerJavaMethod(new J2V8TestCase(), "print", "native_print",new Class[]{String.class});14         StringBuilder sb = new StringBuilder();15         sb.append("var str= 'Hello' + TestUtil.native_jia(100, 111);");16         sb.append("TestUtil.native_print(str);");17         v8.executeVoidScript(sb.toString());18 19         testUtil.release();20         v8.release();21     }

 

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.