调用摄像头(video动态识别)识别条形码或二维码 + 打包成apk

前端实现:

解析二维码、条形码js库 :zxing-js/browser

参考:

https://blog.csdn.net/qq_29101609/article/details/106900760

https://zxing-js.github.io/library/examples/multi-camera/

打包:

从Android 6.0开始,Android权限检查机制发生了更改。在过去,权限是由用户在决定安装应用程序时授予的。现在,权限应该由用户在使用应用程序时授予。

方法一: Website 2 APK Builder Pro(没有提供权限检查,请求权限的api) --->排除

优点:打包简单,需要安装JDK, 高级功能需要付费;

缺点:无法判断app是否有手机的摄像头权限,也无法跳转至权限设置页。

参考:

https://blog.csdn.net/tomoya_chen/article/details/121438147

https://websitetoapk.com/docs/customize-app-permissions.html

方法二: cordova(推荐)

安装包(1.82 MB):https://gitxieada.github.io/Demo/cordovaAppShow/scan.apk

演示:

barcodeScan

  1. 创建项目:
$cordova create [directory] [app-id] [app-name]
cordova create hello com.example.hello HelloWorld 
hello 是项目名称,com.example.hello是包名,HelloWorld是程序的标题(也就是安装的时候显示界面的app名字

将web页面文件拷贝至项目的www目录下,cd进入项目文件夹,添加设备

  1. 添加平台(ios/android)

cordova platform add android

  1. 查看安装环境是否OK

cordova requirements

  1. 打包android debug apk

cordova build android

  1. Cordova插件安装(cordova-plugin-camera,cordova-plugin-android-permissions)
cordova plugin add cordova-plugin-camera
cordova plugin add cordova-plugin-android-permissions

使用参考官方文档

  1. 打包android release apk

cordova build android -release

  1. APK签名

参考:
https://blog.csdn.net/weixin_42325228/article/details/107794469
https://www.cnblogs.com/opcec/p/9896175.html
https://blog.csdn.net/chen_CJH/article/details/112381618

使用keytool生成keystore文件,也就是数字签名:

keytool -genkey -v -keystore my-release-key.keystore -alias my-release-key -keyalg RSA -validity 20000

使用jarsigner为你的apk进行签名:

签名要在打包apk的文件夹路径下进行,证书与apk放在同一目录下

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar scan.apk app-release-unsigned.apk my-release-key

验证apk是否加签

jarsigner -certs -verbose -verify scan.apk

推荐(镜像、文章):

https://mirrors.cloud.tencent.com/gradle/

https://developer.aliyun.com/mvn/guide

https://cordova.apache.org/docs/en/10.x/guide/cli/index.html

https://repo.huaweicloud.com/java/jdk/

https://androidsdkmanager.azurewebsites.net/

安装jdk及安装多版本jdk

Cordova的安装与配置

cordova build android 环境的坑

https://www.npmjs.com/package/cordova-plugin-android-permissions