Skip to content

Commit d196532

Browse files
committed
1、修复Android平台下使用evalScriptFromFile方法返回值为nil问题。
2、优化evalScriptFromFile方法,允许可以只传入资源目录下的lua文件名称来解析指定脚本。 3、增加Unity平台的接入,支持导出iOS、OSX以及Android应用,目前只支持Mac OS X下编辑器的开发调试。 Former-commit-id: d1e7fa0f9a47b8a57a79dd4e3e35fd9ef753adb2
1 parent a28d3bc commit d196532

File tree

219 files changed

+8802
-337
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+8802
-337
lines changed

.DS_Store

6 KB
Binary file not shown.

Sample/.DS_Store

6 KB
Binary file not shown.

Sample/Android/.DS_Store

6 KB
Binary file not shown.

Sample/Android/Android.iml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id="Android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="java-gradle" name="Java-Gradle">
5+
<configuration>
6+
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
7+
<option name="BUILDABLE" value="false" />
8+
</configuration>
9+
</facet>
10+
</component>
11+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
12+
<exclude-output />
13+
<content url="file://$MODULE_DIR$">
14+
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
15+
</content>
16+
<orderEntry type="inheritedJdk" />
17+
<orderEntry type="sourceFolder" forTests="false" />
18+
</component>
19+
</module>

Sample/Android/app/.DS_Store

6 KB
Binary file not shown.

Sample/Android/app/app.iml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="Android" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="android-gradle" name="Android-Gradle">
5+
<configuration>
6+
<option name="GRADLE_PROJECT_PATH" value=":app" />
7+
</configuration>
8+
</facet>
9+
<facet type="android" name="Android">
10+
<configuration>
11+
<option name="SELECTED_BUILD_VARIANT" value="debug" />
12+
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
13+
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
14+
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15+
<afterSyncTasks>
16+
<task>generateDebugSources</task>
17+
</afterSyncTasks>
18+
<option name="ALLOW_USER_CONFIGURATION" value="false" />
19+
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
20+
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
21+
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
22+
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
23+
</configuration>
24+
</facet>
25+
<facet type="Lua" name="Lua">
26+
<configuration SdkName="Kahlua" />
27+
</facet>
28+
</component>
29+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
30+
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
31+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
32+
<exclude-output />
33+
<content url="file://$MODULE_DIR$">
34+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
35+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
36+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
37+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
38+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
39+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
40+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
41+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
42+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
43+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
44+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
45+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
46+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
47+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
48+
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
49+
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
50+
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
57+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
58+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
59+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
60+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
61+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
62+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
63+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
64+
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
65+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
66+
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
67+
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
68+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
69+
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
70+
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
71+
<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" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
86+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
87+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
88+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
89+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
91+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
92+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/23.3.0/jars" />
93+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.3.0/jars" />
94+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars" />
95+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/23.3.0/jars" />
96+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
97+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
98+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
99+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
100+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
101+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
102+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
103+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
104+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
105+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
106+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
107+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
108+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
109+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
110+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
111+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
112+
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
113+
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
114+
</content>
115+
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
116+
<orderEntry type="sourceFolder" forTests="false" />
117+
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
118+
<orderEntry type="library" exported="" name="support-v4-23.3.0" level="project" />
119+
<orderEntry type="library" exported="" name="LuaScriptCore" level="project" />
120+
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
121+
<orderEntry type="library" exported="" name="support-annotations-23.3.0" level="project" />
122+
<orderEntry type="library" exported="" name="support-vector-drawable-23.3.0" level="project" />
123+
<orderEntry type="library" exported="" name="animated-vector-drawable-23.3.0" level="project" />
124+
<orderEntry type="library" exported="" name="appcompat-v7-23.3.0" level="project" />
125+
</component>
126+
</module>

Sample/Android/app/src/.DS_Store

6 KB
Binary file not shown.

Sample/Android/app/src/main/.DS_Store

6 KB
Binary file not shown.

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

Lines changed: 2 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -39,58 +39,6 @@ protected void onCreate(Bundle savedInstanceState) {
3939
super.onCreate(savedInstanceState);
4040
setContentView(R.layout.activity_main);
4141

42-
//先拷贝Assets的文件到应用目录中
43-
File cacheDir = getExternalCacheDir();
44-
if (!cacheDir.exists())
45-
{
46-
cacheDir.mkdirs();
47-
}
48-
49-
File dkjsonFile = new File(cacheDir, "dkjson.lua");
50-
ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
51-
readAssetFileContent("dkjson.lua", dataStream);
52-
writeToFile(dkjsonFile, dataStream);
53-
try {
54-
dataStream.close();
55-
} catch (IOException e) {
56-
e.printStackTrace();
57-
}
58-
59-
if (dkjsonFile.exists())
60-
{
61-
Log.v("luaScriptCore", "copy dkjson.lua success");
62-
}
63-
64-
File todoFile = new File (cacheDir, "todo.lua");
65-
dataStream = new ByteArrayOutputStream();
66-
readAssetFileContent("todo.lua", dataStream);
67-
writeToFile(todoFile, dataStream);
68-
try {
69-
dataStream.close();
70-
} catch (IOException e) {
71-
e.printStackTrace();
72-
}
73-
74-
if (todoFile.exists())
75-
{
76-
Log.v("luaScriptCore", "copy todo.lua success");
77-
}
78-
79-
File mainFile = new File (cacheDir, "main.lua");
80-
dataStream = new ByteArrayOutputStream();
81-
readAssetFileContent("main.lua", dataStream);
82-
writeToFile(mainFile, dataStream);
83-
try {
84-
dataStream.close();
85-
} catch (IOException e) {
86-
e.printStackTrace();
87-
}
88-
89-
if (mainFile.exists())
90-
{
91-
Log.v("luaScriptCore", "copy main.lua success");
92-
}
93-
9442
//创建LuaContext
9543
_luaContext = LuaContext.create(this);
9644

@@ -137,8 +85,7 @@ public LuaValue onExecute(LuaValue[] arguments) {
13785
}
13886

13987
//调用脚本
140-
File mainFile = new File (getExternalCacheDir(), "main.lua");
141-
_luaContext.evalScriptFromFile(mainFile.toString());
88+
_luaContext.evalScriptFromFile("main.lua");
14289

14390
}
14491
});
@@ -154,7 +101,7 @@ public LuaValue onExecute(LuaValue[] arguments) {
154101
public void onClick(View v) {
155102

156103
//调用脚本
157-
File todoFile = new File (getExternalCacheDir(), "todo.lua");
104+
File todoFile = new File ("todo.lua");
158105
_luaContext.evalScriptFromFile(todoFile.toString());
159106

160107
LuaValue retValue = _luaContext.callMethod("add", new LuaValue[]{new LuaValue(100), new LuaValue(924)});
Binary file not shown.

0 commit comments

Comments
 (0)