Java-JS混合开发

# 说明 混合开发是把java和js放在一起编写,js调用java的方法 编译后java代码和jar包会变成一个defaultplugin.apk文件作为插件使用 # 新建项目 使用IDEA创建项目选择'EasyClick Java-JS混合项目' 点击下一步并完成,会自动生成对应的java类和配置信息 # 目录结构 - src/js/main.js 这个文件是js调用插件相关方法的测试入口 - src/com/ 这个文件夹下面存放的的java源码,PluginClz 类是默认生成的插件入口类 - libs/jarlibs文件夹用于存放三方引用jar包,会被合并到插件中 - libs/solibs 存放so封装的文件,会被编译到插件的 lib 文件夹中 - libs/resources 存放资源的文件,会被编译到插件的 resources 文件夹中 - libs/jslibs 存放JS类库文件,不会编译到插件中,仅用来进行测试和调用 如果你有jni的调用,请将so文件放到libs/solibs中 # 默认java类 PluginClz是默认生成的java类 test 方法是默认生成的默认方法 # main.js 使用Java java编译后是插件形式,插件名称是defaultplugin.apk,请在脚本运行的时候调用。 详见[全局模块-载入dex或者apk](doc:vLFHEMYv) ```js loadDex("defaultplugin.apk"); ``` 然后在使用importClass或者importPackage方法进行引入java类 使用new方法生成插件对象实例即可调用 # 运行 执行菜单栏 'EasyClick 开发工具 - 运行工程' 即可,前提是要连接到手机 # 打包 执行菜单栏 'EasyClick 开发工具 - 打包工程' 即可,打包结果请看EasyClick 运行日志的输出 # java代码翻译为js代码 ```js // 文件操作 Demo By 飞云 var path = '/sdcard/2.png' importClass(java.io.File); //引用依赖的类 var file = new File(path); //获取文件对象 var fileName = file.getName(); //获取文件名 var index = fileName.lastIndexOf("."); var suffix = fileName.substring(index + 1, fileName.length()); logd('文件格式:' + suffix); if (file.exists()) { var isDeleted = file.delete(); logd('删除结果:' + isDeleted); } ```