You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by gu...@apache.org on 2017/10/10 11:15:17 UTC
[1/3] incubator-weex git commit: update so for app install on sdcard
Repository: incubator-weex
Updated Branches:
refs/heads/release-0.16 045e83863 -> 3cf15bc0d
update so for app install on sdcard
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/dbc94f42
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/dbc94f42
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/dbc94f42
Branch: refs/heads/release-0.16
Commit: dbc94f421dfda8aeccea3791788a5079ff5bb923
Parents: 045e838
Author: yuhun-alibaba <to...@gmail.com>
Authored: Tue Oct 10 16:21:49 2017 +0800
Committer: yuhun-alibaba <to...@gmail.com>
Committed: Tue Oct 10 16:21:49 2017 +0800
----------------------------------------------------------------------
android/sdk/libs/armeabi/libweexjsb.so | Bin 22620 -> 22620 bytes
android/sdk/libs/armeabi/libweexjsc.so | Bin 338160 -> 342264 bytes
android/sdk/libs/armeabi/libweexjss.so | Bin 6754016 -> 6754016 bytes
3 files changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/dbc94f42/android/sdk/libs/armeabi/libweexjsb.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/armeabi/libweexjsb.so b/android/sdk/libs/armeabi/libweexjsb.so
index 4b13b06..cd36273 100755
Binary files a/android/sdk/libs/armeabi/libweexjsb.so and b/android/sdk/libs/armeabi/libweexjsb.so differ
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/dbc94f42/android/sdk/libs/armeabi/libweexjsc.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/armeabi/libweexjsc.so b/android/sdk/libs/armeabi/libweexjsc.so
index 12f6df2..36eae45 100755
Binary files a/android/sdk/libs/armeabi/libweexjsc.so and b/android/sdk/libs/armeabi/libweexjsc.so differ
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/dbc94f42/android/sdk/libs/armeabi/libweexjss.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/armeabi/libweexjss.so b/android/sdk/libs/armeabi/libweexjss.so
index 0187882..544d41d 100755
Binary files a/android/sdk/libs/armeabi/libweexjss.so and b/android/sdk/libs/armeabi/libweexjss.so differ
[3/3] incubator-weex git commit: update x86 so
Posted by gu...@apache.org.
update x86 so
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3cf15bc0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3cf15bc0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3cf15bc0
Branch: refs/heads/release-0.16
Commit: 3cf15bc0d435d16d2647b66a29bf3088e90bf4db
Parents: 07bc5b0
Author: yuhun-alibaba <to...@gmail.com>
Authored: Tue Oct 10 18:17:43 2017 +0800
Committer: yuhun-alibaba <to...@gmail.com>
Committed: Tue Oct 10 18:17:43 2017 +0800
----------------------------------------------------------------------
android/sdk/libs/x86/libweexjsc.so | Bin 12121924 -> 12126020 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cf15bc0/android/sdk/libs/x86/libweexjsc.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/x86/libweexjsc.so b/android/sdk/libs/x86/libweexjsc.so
index ab27aa9..3698a49 100755
Binary files a/android/sdk/libs/x86/libweexjsc.so and b/android/sdk/libs/x86/libweexjsc.so differ
[2/3] incubator-weex git commit: init framework and insert cacheDir
for debug
Posted by gu...@apache.org.
init framework and insert cacheDir for debug
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/07bc5b0d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/07bc5b0d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/07bc5b0d
Branch: refs/heads/release-0.16
Commit: 07bc5b0dc44762603f2465835a1b3530b76f238e
Parents: dbc94f4
Author: 御魂 <we...@alibaba-inc.com>
Authored: Mon Oct 9 16:40:02 2017 +0800
Committer: yuhun-alibaba <to...@gmail.com>
Committed: Tue Oct 10 17:23:17 2017 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/bridge/WXBridge.java | 17 ++++++
.../com/taobao/weex/bridge/WXBridgeManager.java | 25 ++++++++-
.../java/com/taobao/weex/common/IWXBridge.java | 9 ++++
.../taobao/weex/utils/WXSoInstallMgrSdk.java | 56 ++++++++++++++++++++
.../taobao/weex/bridge/WXWebsocketBridge.java | 15 ++++++
5 files changed, 121 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/07bc5b0d/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
index 9d88fc2..b95c7a6 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
@@ -36,6 +36,8 @@ class WXBridge implements IWXBridge {
public static final String TAG = "WXBridge";
+ public static final boolean MULTIPROCESS = true;
+
/**
* Init JSFrameWork
*
@@ -43,6 +45,13 @@ class WXBridge implements IWXBridge {
*/
public native int initFramework(String framework, WXParams params);
+ /**
+ * Init JSFrameWork
+ *
+ * @param framework assets/main.js
+ */
+ public native int initFramework(String framework, WXParams params, String cacheDir, boolean onSdcard);
+
/**
* Execute JavaScript function
@@ -68,6 +77,14 @@ class WXBridge implements IWXBridge {
*/
public native void takeHeapSnapshot(String filename);
+
+ public int initFrameworkEnv(String framework, WXParams params, String cacheDir, boolean onSdcard){
+ if (MULTIPROCESS) {
+ return initFramework(framework, params, cacheDir, onSdcard);
+ } else {
+ return initFramework(framework, params);
+ }
+ }
/**
* JavaScript uses this methods to call Android code
*
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/07bc5b0d/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index a949e3b..07f2381 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -19,6 +19,8 @@
package com.taobao.weex.bridge;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.Looper;
@@ -1564,7 +1566,28 @@ public class WXBridgeManager implements Callback,BactchExecutor {
}
long start = System.currentTimeMillis();
- if(mWXBridge.initFramework(framework, assembleDefaultOptions())==INIT_FRAMEWORK_OK){
+ String crashFile="";
+ boolean installOnSdcard = false;
+ try {
+ crashFile = WXEnvironment.getApplication().getApplicationContext().getCacheDir().getPath();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ try {
+ PackageManager pm = WXEnvironment.getApplication().getApplicationContext().getPackageManager();
+ String pkgName = WXEnvironment.getApplication().getPackageName();
+ ApplicationInfo appInfo = pm.getApplicationInfo(pkgName, 0);
+ if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
+ // App on sdcard
+ installOnSdcard = true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ // extends initFramework
+ if(mWXBridge.initFrameworkEnv(framework, assembleDefaultOptions(), crashFile, installOnSdcard)==INIT_FRAMEWORK_OK){
WXEnvironment.sJSLibInitTime = System.currentTimeMillis() - start;
WXLogUtils.renderPerformanceLog("initFramework", WXEnvironment.sJSLibInitTime);
WXEnvironment.sSDKInitTime = System.currentTimeMillis() - WXEnvironment.sSDKInitStart;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/07bc5b0d/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
index 9d4885c..9e83dde 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
@@ -38,6 +38,15 @@ public interface IWXBridge extends IWXObject {
*/
int initFramework(String framework, WXParams params);
+
+ /**
+ * init Weex
+ *
+ * @param framework assets/main.js
+ * @return
+ */
+ int initFrameworkEnv(String framework, WXParams params, String cacheDir, boolean onSdcard);
+
/**
* execute javascript function
*/
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/07bc5b0d/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
index a7fba8a..e402ee7 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
@@ -32,6 +32,7 @@ import com.taobao.weex.common.WXErrorCode;
import com.taobao.weex.common.WXPerformance;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -68,6 +69,7 @@ public class WXSoInstallMgrSdk {
private final static String ARMEABI = "armeabi"; //default
private final static String X86 = "x86";
private final static String MIPS = "mips";
+ private final static String STARTUPSO = "/libweexjsb.so";
private final static int ARMEABI_Size = 3583820;
private final static int X86_Size = 4340864;
@@ -111,6 +113,9 @@ public class WXSoInstallMgrSdk {
return false;
}
+ // copy startup so
+ copyStartUpSo();
+
boolean InitSuc = false;
if (checkSoIsValid(libName, BuildConfig.ARMEABI_Size) ||checkSoIsValid(libName, BuildConfig.X86_Size)) {
@@ -170,6 +175,57 @@ public class WXSoInstallMgrSdk {
return InitSuc;
}
+ /**
+ * copyStartUpSo
+ */
+ public static void copyStartUpSo() {
+ try {
+ boolean installOnSdcard = true;
+ String pkgName = WXEnvironment.getApplication().getPackageName();
+ // cp weexjsb any way
+// try {
+// PackageManager pm = WXEnvironment.getApplication().getApplicationContext().getPackageManager();
+// ApplicationInfo appInfo = pm.getApplicationInfo(pkgName, 0);
+// if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
+// // App on sdcard
+// installOnSdcard = true;
+// }
+// } catch (Throwable e) {
+// }
+ if (installOnSdcard) {
+
+ String cacheFile = WXEnvironment.getApplication().getApplicationContext().getCacheDir().getPath();
+ File newfile = new File(cacheFile + STARTUPSO);
+ if (newfile.exists()) {
+ return;
+ }
+
+ String path = "/data/data/" + pkgName + "/lib";;
+ if (cacheFile != null && cacheFile.indexOf("/cache") > 0) {
+ path = cacheFile.replace("/cache", "/lib");
+ }
+
+ String soName = path + STARTUPSO;
+ File oldfile = new File(soName);
+ if (oldfile.exists()) {
+ //获得原文件流
+ FileInputStream inputStream = new FileInputStream(oldfile);
+ byte[] data = new byte[1024];
+ //输出流
+ FileOutputStream outputStream =new FileOutputStream(newfile);
+ //开始处理流
+ while (inputStream.read(data) != -1) {
+ outputStream.write(data);
+ }
+ inputStream.close();
+ outputStream.close();
+ }
+ }
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
private static String _getFieldReflectively(Build build, String fieldName) {
try {
final Field field = Build.class.getField(fieldName);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/07bc5b0d/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
----------------------------------------------------------------------
diff --git a/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java b/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
index b686f7c..5576de3 100644
--- a/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
+++ b/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
@@ -204,6 +204,21 @@ public class WXWebsocketBridge implements IWXBridge,WXWebSocketManager.JSDebugge
}
@Override
+ public int initFrameworkEnv(String scriptsFramework,WXParams params, String cacheDir, boolean onSdcard) {
+ if (!mInit) {
+ return -1;
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("method", "evalFramework");
+ ArrayList<String> args = new ArrayList<>();
+ args.add(scriptsFramework);
+ map.put("arguments", args);
+ WXWebSocketManager.getInstance().sendMessage(JSON.toJSONString(map));
+ return 0;
+ }
+
+ @Override
public void takeHeapSnapshot(String filename) {}
@Override