Skip to content

Commit e43178c

Browse files
committed
定版2.1.1
Former-commit-id: 52b21801dca8dc7e848655cb2073ca4254f49220
1 parent 76eac3f commit e43178c

File tree

12 files changed

+75
-22
lines changed

12 files changed

+75
-22
lines changed

LuaScriptCore.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
1616
#
1717

1818
s.name = "LuaScriptCore"
19-
s.version = "2.1.0"
19+
s.version = "2.1.1"
2020
s.summary = "An easy-to-use OC-Lua bridge"
2121

2222
# This description is used to generate tags and improve search results.

Sample/Android/app/app.iml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,6 @@
6969
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
7070
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
7171
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
72-
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
76-
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
77-
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
78-
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
79-
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8072
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
8173
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
8274
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -85,26 +77,49 @@
8577
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
8678
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
8779
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
86+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
87+
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
88+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
8889
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
8991
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
9092
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
9193
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/24.1.0/jars" />
9294
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/24.1.0/jars" />
9395
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/24.1.0/jars" />
9496
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/24.1.0/jars" />
97+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.blankj/utilcode/1.12.0/jars" />
9598
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
99+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
100+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
96101
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
102+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
103+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
104+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
105+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
97106
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
107+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
108+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
98109
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
110+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
99111
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
112+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
100113
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
114+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
101115
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
102116
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
103117
</content>
104118
<orderEntry type="jdk" jdkName="Android API 24 Platform" jdkType="Android SDK" />
105119
<orderEntry type="sourceFolder" forTests="false" />
106120
<orderEntry type="library" exported="" name="support-v4-24.1.0" level="project" />
107121
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
122+
<orderEntry type="library" exported="" name="utilcode-1.12.0" level="project" />
108123
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
109124
<orderEntry type="library" exported="" name="appcompat-v7-24.1.0" level="project" />
110125
<orderEntry type="library" exported="" name="support-annotations-24.1.0" level="project" />

Sample/Android/app/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ android {
66

77
defaultConfig {
88
applicationId "cn.vimfung.luascriptcore.sample"
9-
minSdkVersion 13
9+
minSdkVersion 14
1010
targetSdkVersion 24
1111
versionCode 1
1212
versionName "1.0"
@@ -26,6 +26,7 @@ dependencies {
2626
compile fileTree(include: ['*.jar'], dir: 'libs')
2727
testCompile 'junit:junit:4.12'
2828
compile 'com.android.support:appcompat-v7:24.1.0'
29+
compile 'com.blankj:utilcode:1.12.0'
2930
// compile 'com.github.vimfung.luascriptcore:luascriptcore:1.3.5'
3031
// compile files('src/main/libs/LuaScriptCore.jar')
3132
compile project(':luascriptcore')

Sample/Android/app/src/main/java/cn/vimfung/luascriptcore/sample/Env.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class Env
1313

1414
public static void setup(Context context)
1515
{
16+
LuaContext.excludeClassesRules.add("^com[.]blankj[.]utilcode[.].+");
1617
_ctx = LuaContext.create(context);
1718
}
1819

Sample/Android/app/src/main/java/cn/vimfung/luascriptcore/sample/MainActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,8 @@ public void onClick(View v) {
151151
regClsBtn.setOnClickListener(new View.OnClickListener() {
152152
@Override
153153
public void onClick(View v) {
154-
_luaContext.evalScript("print(Chinese); function Chinese.prototype:init() print('Chinese create'); end; local person = Chinese.create(); print(person); person.name = 'vimfung'; print(person.name); person:speak(); person:walk();");
154+
// _luaContext.evalScript("print(Chinese); function Chinese.prototype:init() print('Chinese create'); end; local person = Chinese.create(); print(person); person.name = 'vimfung'; print(person.name); person:speak(); person:walk();");
155+
_luaContext.evalScript("local obj = Person.createObj(); Person.CheckObj(obj);");
155156
}
156157
});
157158
}

Sample/Android/app/src/main/java/cn/vimfung/luascriptcore/sample/Person.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313
import cn.vimfung.luascriptcore.LuaTuple;
1414
import cn.vimfung.luascriptcore.LuaValue;
1515

16+
class TestObject
17+
{
18+
void click()
19+
{
20+
Log.v("lsc", "-------- click");
21+
}
22+
}
23+
1624
/**
1725
* 人类
1826
* Created by vimfung on 16/10/12.
@@ -40,6 +48,20 @@ public static Person createPerson()
4048
return new Person();
4149
}
4250

51+
public static Object createObj()
52+
{
53+
Person obj = new Person();
54+
obj.name = "vim";
55+
return obj;
56+
}
57+
58+
public static void CheckObj(Object obj)
59+
{
60+
Person p = (Person)obj;
61+
p.speak();
62+
// Log.v("lsc", obj.toString());
63+
}
64+
4365
public static LuaTuple test(String a, String b)
4466
{
4567
LuaTuple tuple = new LuaTuple();

Source/Android/luascriptcore/compile-5.1.5.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ ext {
7777
siteUrl = 'https://github.com/vimfung/LuaScriptCore'
7878
gitUrl = 'https://github.com/vimfung/LuaScriptCore.git'
7979

80-
libraryVersion = '2.1.0'
80+
libraryVersion = '2.1.1'
8181

8282
developerId = 'vimfung'
8383
developerName = 'Vim Fung'

Source/Android/luascriptcore/compile.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ ext {
7777
siteUrl = 'https://github.com/vimfung/LuaScriptCore'
7878
gitUrl = 'https://github.com/vimfung/LuaScriptCore.git'
7979

80-
libraryVersion = '2.1.0'
80+
libraryVersion = '2.1.1'
8181

8282
developerId = 'vimfung'
8383
developerName = 'Vim Fung'

Source/Android/luascriptcore/src/main/java/cn/vimfung/luascriptcore/LuaContext.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.lang.reflect.Modifier;
2828
import java.nio.ByteBuffer;
2929
import java.util.ArrayList;
30+
import java.util.Arrays;
3031
import java.util.Enumeration;
3132
import java.util.HashMap;
3233
import java.util.HashSet;
@@ -64,11 +65,11 @@ public class LuaContext extends LuaBaseObject
6465
/**
6566
* 排除类型规则
6667
*/
67-
private static String[] _excludeClassesRules = {
68+
private static String[] _defaultExcludeClassesRules = {
6869
"^android[.]support$",
6970
"^android[.]support[.].+",
7071
"^com[.]android$",
71-
"^com[.]android[.].+",
72+
"^com[.]android[.].+"
7273
};
7374

7475
/**
@@ -84,14 +85,19 @@ private static void findRegTypes (Context context)
8485
_regTypes = new ArrayList<Class<? extends LuaExportType>>();
8586
try
8687
{
88+
//获取排除类型规则
89+
ArrayList<String> excludeRules = new ArrayList<String>();
90+
excludeRules.addAll(Arrays.asList(_defaultExcludeClassesRules));
91+
excludeRules.addAll(excludeClassesRules);
92+
8793
String packageCodePath = context.getPackageCodePath();
8894
DexFile df = new DexFile(packageCodePath);
8995
for (Enumeration<String> iter = df.entries(); iter.hasMoreElements();)
9096
{
9197
String className = iter.nextElement();
9298

9399
boolean isExcludeClass = false;
94-
for (String patternStr : _excludeClassesRules)
100+
for (String patternStr : excludeRules)
95101
{
96102
Pattern pattern = Pattern.compile(patternStr);
97103
Matcher matcher = pattern.matcher(className);
@@ -105,6 +111,7 @@ private static void findRegTypes (Context context)
105111

106112
if (!isExcludeClass)
107113
{
114+
Log.d("luascriptcore", String.format("found Class = %s", className));
108115
try
109116
{
110117
Class type = Class.forName(className);
@@ -119,6 +126,10 @@ private static void findRegTypes (Context context)
119126
{
120127
Log.d("luascriptcore", e.getMessage());
121128
}
129+
catch (Exception e)
130+
{
131+
Log.w("luascriptcore", e.getMessage());
132+
}
122133

123134
}
124135
}
@@ -153,7 +164,7 @@ private File getCacheDir()
153164
int perm = _context.checkCallingOrSelfPermission("android.permission.WRITE_EXTERNAL_STORAGE");
154165
if (MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) && perm == PackageManager.PERMISSION_GRANTED)
155166
{
156-
appCacheDir = _context.getExternalCacheDir();;
167+
appCacheDir = _context.getExternalCacheDir();
157168
}
158169

159170
if (appCacheDir == null)
@@ -238,12 +249,14 @@ protected LuaContext(int nativeId)
238249
{
239250
super(nativeId);
240251

241-
this._methods = new HashMap<String, LuaMethodHandler>();
252+
this._methods = new HashMap<>();
242253

243254
//导出类型
244255
exportTypes();
245256
}
246257

258+
public static ArrayList<String> excludeClassesRules = new ArrayList<>();
259+
247260
/**
248261
* 创建上下文对象
249262
*
@@ -275,7 +288,7 @@ public static LuaContext create(Context context)
275288
public void onException (LuaExceptionHandler handler)
276289
{
277290
_exceptionHandler = handler;
278-
LuaNativeUtil.catchException(this, handler != null);
291+
LuaNativeUtil.catchException(this, _exceptionHandler != null);
279292
}
280293

281294
/**

Source/iOS_OSX/Code/LuaScriptCore.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// Copyright © 2016年 vimfung. All rights reserved.
77
//
88

9-
#define LuaScriptCoreVersion @"2.1.0"
9+
#define LuaScriptCoreVersion @"2.1.1"
1010

1111
#import "LSCContext.h"
1212
#import "LSCValue.h"

0 commit comments

Comments
 (0)