最近接到了一个需求,18年开发的一个景区android板售票系统增加身份证识别记录功能。
由于以前使用的AppCan这种混合开发的android项目,项目里面全部是html和js的代码,而身份证读取设备是升腾的,厂家提供了jar文件和so库文件,哎,新手不知道咋把功能加上去。后来大佬发话了,直接把身份证读取的功能开发到AppCan IDE的一个自定义插件中去,然后,可以通过js调用插件实现身份证读取功能。最后打包app的时候把这个自定义的插件添加进来,这么一个功能就完成了。
还是先把官网的插件开发流程贴一下吧
http://newdocx.appcan.cn/dev-guide/openSource-native-capability-dev/android-native
- 到官网下载一个自定义插件的基础工程
git地址:https://github.com/AppCanOpenSource/appcan-plugin-demo-android/tree/master
这个demo下载下来一堆错误,头疼,自己看着解决吧。都是些依赖及版本问题。
其中有个脚本buildPlugin.gradle不在本地,我刚开始执行打包的时候,频繁出现访问不到,后来干脆浏览器打开链接把脚本复制到本地在build.gradle中通过apply from直接本地引用。
- 使用开发工具导入项目
使用android studio吧,idea我在用时放进来的自己的jar和so文件打包不正确,不知道是哪里的设置问题没有解决掉,后面换成studio没有改任何设置打包成功了。
- 把不需要的乱七八糟的东西全部删掉
删掉后写一个简单的方法调用有返回值得方法,在项目里面调用下,最后打包测试下。可能有很多问题,只能一个一个解决了。
public class EUExIDCard extends EUExbase {
public EUExIDCard(Context context, EBrowserView view) {
super(context, view);
}
@Override
protected boolean clean() {
return false;
}
public String getIDCardInfo(String[] param){
return "测试一下"
}
}
- 目录就是这样打包走一下吧
- 流程走通了,就使劲加业务代码吧,祝君好运!
讲的不够详细,可以看官网,讲的挺细的。



