我尝试将zxing-Library集成到Android应用程序中,因此用户无需安装zxing。
我做了什么:
创建自己的build.xml(在core / ...中为none):
<?xml version="1.0" encoding="utf-8" ?>
<project name="core" default="jar" basedir=".">
<target name="compile" description="Compile source">
<mkdir dir="bin" />
<javac srcdir="src" includes="**" destdir="bin"/>
<copy todir="bin">
<fileset dir="src" />
</copy>
</target>
<target name="jar" description="Package into JAR" depends="compile">
<jar destfile="core.jar" basedir="bin" compress="true" />
</target>
</project>
使用ant -f core/build.xml
我也尝试过:
这是出现错误的上半部分
02-21 11:34:55.055: E/AndroidRuntime(8797): FATAL EXCEPTION: main
02-21 11:34:55.055: E/AndroidRuntime(8797): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.hit.scantohit/com.google.zxing.client.android.CaptureActivity}: java.lang.ClassNotFoundException: com.google.zxing.client.android.CaptureActivity
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hit.scantohit"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.CAMERA"/>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="14" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.hit.scantohit.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="scanclinet"
android:scheme="hitscheme" />
<!-- myscheme://myhost ==> hitscheme://scanclinet -->
</intent-filter>
</activity>
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
布局xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/btn_start_hit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btn_start_scan"
android:layout_alignBottom="@+id/btn_start_scan"
android:layout_marginLeft="63dp"
android:layout_toRightOf="@+id/btn_start_scan"
android:text="HIT" />
<Button
android:id="@+id/btn_start_scan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="42dp"
android:layout_marginLeft="83dp"
android:text="SCAN" />
</RelativeLayout>
有没有人知道任何帮助?
答案 0 :(得分:3)
尝试一下
In ZXing:
1. Right click on project
2. Click Properties
3. Click Android in the left hand side menu
4. Check Is Library
In my app:
1. Right click on project
2. Click Properties
3. Click Android in the left hand side menu
4. Click Add
5. Select the ZXing project
答案 1 :(得分:0)
我的代码中包含ZXing库的方式是在Eclipse的项目的libs文件夹中使用Core.jar文件(预构建的文件)(无需手动更改构建路径)并且我有我的Eclipse工作区中的ZXing项目(它是一个库)。你需要做的就是在Eclipse中右键单击你的项目并转到Properties-&gt; Android-&gt; Library部分,单击add并选择ZXing android项目(必须将其标记为库)。
答案 2 :(得分:0)
我可以通过使用Zxing 2.1而不是2.2来解决问题。像这里描述的那样:
http://khurramitdeveloper.blogspot.ch/p/android-barcode-scan-using-zxing-library.html
在这里你可以得到Zxing 2.1
https://code.google.com/p/zxing/downloads/detail?name=ZXing-2.1.zip