Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> J2V8 For Android

J2V8 For Android

編輯:關於Android編程

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文件夾中,如下圖:

\

2.修改app下build.gradle文件,添加如下內容:

repositories {
    flatDir {
        dirs 'libs'
    }
}
  dependencies下添加如下一行內容:
compile(name:'j2v8', ext:'aar')

修改後的build.gradle文件如下,其中標識部分為添加內容:

\

3.完成後,重新編譯工程,在app/build/intermediates/exploded-aar目錄下就可以看見我們引用的aar,如下圖所示:

\

二、J2V8使用

添加一個測試工具類,並將工具類方法橋接到Java的方法中,定義Java類的示例代碼如下:

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     }

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved