说明
混合开发是把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
loadDex("defaultplugin.apk");
然后在使用importClass或者importPackage方法进行引入java类
使用new方法生成插件对象实例即可调用
运行
执行菜单栏 ‘EasyClick 开发工具 - 运行工程’ 即可,前提是要连接到手机
打包
执行菜单栏 ‘EasyClick 开发工具 - 打包工程’ 即可,打包结果请看EasyClick 运行日志的输出
java代码翻译为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); }