【Android QR Code】开源项目:ZXing(一)导入项目
维基百科:QR Code
http://en.wikipedia.org/wiki/QR_code
开源项目:ZXing
http://code.google.com/p/zxing/
1、下载源代码
导航栏,选择Downloads
下载当前最新版本
2、导入项目
解压下载的.zip文件
打开Eclipse,菜单栏,选择file -> new -> project...
在弹出的New Project对话框中,选择Android -> Android Project from Existing Code,点击Next
Root Directory文本框,点击Browse按钮,选择zxing/android文件夹,点击Finish
3、排错
错误1:导入的项目,红叉报错,无法运行
打开报错的文件,错误的原因是没有找到类文件
解决的方法:添加core.jar包
在Package Explorer选择导入的项目,右键 -> Build Path -> Add External Archives...
选择zxing/core目录下的core.jar
错误2:运行项目,应用异常退出
查看logcat,内容如下所示:
11-26 13:21:37.044: E/AndroidRuntime(16533): FATAL EXCEPTION: main
11-26 13:21:37.044: E/AndroidRuntime(16533): java.lang.ExceptionInInitializerError
11-26 13:21:37.044: E/AndroidRuntime(16533): at java.lang.Class.newInstanceImpl(Native Method)
11-26 13:21:37.044: E/AndroidRuntime(16533): at java.lang.Class.newInstance(Class.java:1429)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.app.Instrumentation.newActivity(Instrumentation.java:1036)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2701)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.app.ActivityThread.access$2300(ActivityThread.java:135)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.os.Handler.dispatchMessage(Handler.java:99)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.os.Looper.loop(Looper.java:144)
11-26 13:21:37.044: E/AndroidRuntime(16533): at android.app.ActivityThread.main(ActivityThread.java:4937)
11-26 13:21:37.044: E/AndroidRuntime(16533): at java.lang.reflect.Method.invokeNative(Native Method)
11-26 13:21:37.044: E/AndroidRuntime(16533): at java.lang.reflect.Method.invoke(Method.java:521)
11-26 13:21:37.044: E/AndroidRuntime(16533): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-26 13:21:37.044: E/AndroidRuntime(16533): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-26 13:21:37.044: E/AndroidRuntime(16533): at dalvik.system.NativeStart.main(Native Method)
11-26 13:21:37.044: E/AndroidRuntime(16533): Caused by: java.lang.NoClassDefFoundError: com.google.zxing.ResultMetadataType
11-26 13:21:37.044: E/AndroidRuntime(16533): at com.google.zxing.client.android.CaptureActivity.<clinit>(CaptureActivity.java:101)
11-26 13:21:37.044: E/AndroidRuntime(16533): ... 15 more
解决方法:调整Order and Export
在Package Explorer选择导入的项目,右键 -> Build Path -> Configure Build Path...
在弹出的对话框中,选择Order and Export选项卡,勾选core.jar并置顶
运行截图:
测试,扫描维基百科上提供的二维码
运行结果:
iOS 开发讨论群:82873648

本作品采用知识共享署名-非商业性使用 3.0 许可协议进行许可。
转载请署名李震(博客地址:http://www.cnblogs.com/dyingbleed/),且不得用于商业目的。
博客园博客已停止更新,博客地址:dyingbleed.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?