androidzxingjar
Ⅰ android studio怎么引入jar包
不知道你会不会有和TeachCourse一样的想法,`dependencies`区块引入的jar包的名称长,基本无法记住,每一节又表示什么含义?Android Studio引入依赖项有几种方式?让我先看下面的这个例子:
java">dependencies{
compileproject(":mylibrary")
compilefiles('libs/zxing.jar')
compilefileTree(include:['*.jar'],dir:'libs')
compile'com.android.support:appcompat-v7:25.1.0'
compilegroup:'com.android.support',name:'appcompat-v7',version:'25.1.0'
}
可以看到Android Studio引入依赖项的方式分为上述四种,按顺序依次称为:
1、**模块依赖项**,
2、**本地二进制依赖项**,
3、**本地二进制依赖项**,
4、**远程二进制依赖项**,
5、**远程二进制依赖项**
引入的方式,打开build.gradle文件,参考上述5种引入jar的方式,解决Android Studio怎么引入jar的问题
Ⅱ android怎么zxing 二维码扫描
第一部分:Zxing的集成
步骤一:下载所需要的Zxing精简版,在Github上搜索Zxing,看到这条记录
进入并下载其jar包:
步骤二:复制到项目中,解压下载的包到ZXingProj/src/com/dtr目录下,复制这个zxing文件夹到项目中,这个时候你会看到有几个红线错误
接着一个个来修改这些红色错误,主要错误包括:导入的R包不是本项目的,存在R.raw和R.id和R.layout的资源找不到。首先把该放进去的资源先放进去,复制libs中的zxing.jar包到项目中,记得右键AddAsLibrary
复制下载的res的layout文件、res的values的ids文件、raw文件、res的drawable-xhdpi文件到项目的对应位置
打开ResultActivity文件:
[java] view plain
public class ResultActivity extends Activity {
private ImageView mResultImage;
private TextView mResultText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
Bundle extras = getIntent().getExtras();
mResultImage = (ImageView) findViewById(R.id.result_image);
mResultText = (TextView) findViewById(R.id.result_text);
if (null != extras) {
int width = extras.getInt("width");
int height = extras.getInt("height");
LayoutParams lps = new LayoutParams(width, height);
lps.topMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getResources().getDisplayMetrics());
lps.leftMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
lps.rightMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
mResultImage.setLayoutParams(lps);
String result = extras.getString("result");
mResultText.setText(result);
Bitmap barcode = null;
byte[] compressedBitmap = extras.getByteArray(DecodeThread.BARCODE_BITMAP);
if (compressedBitmap != null) {
barcode = BitmapFactory.decodeByteArray(compressedBitmap, 0, compressedBitmap.length, null);
// Mutable :
barcode = barcode.(Bitmap.Config.RGB_565, true);
}
mResultImage.setImageBitmap(barcode);
}
}
}
Ⅲ 请教一下android studio zxing的使用
字太小了看不清,不过AS使用zxing很简单,我朋友圈里有相关的文章:xwandroid
Ⅳ android项目中加入zxing,混淆打包出错,求解决
写在视图xml中的onClick响应出错. 因为写在xml中的onClick是通过反射调用的, proguard认为它们没有在代码中被调用过, 所以将它们从代码中除掉或改名了. 解决方法:
在proguard.cfg中添加以下代码, 就可以防止被配在视图xml中的onClick方法被proguard优化掉
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}123123
jni反调Java方法
这些类或方法同样可能会被proguard认为没有调用过而被除掉, 或都被改名. 这些方法最好统一写在一个类中, 然后这个类不作优化, 或是找出所有jni调用过的类与方法, 在proguard.cfg中配置, 不对它们作优化
其它反射调用的java类与方法
使用反射时一定要注意proguard可能会认为那些方法未被调用过, 会在代码优化过程中将它们改名或除去. 在使用反射的地方一定要在proguard.cfg中配置, 不优化反射调用过的类和方法
最后在proguard优化过后会产生一些文件
mp.txt – 描述.apk文件中所有类文件间的内部结构
mapping.txt – 列出了原始的类,方法和字段名与混淆后代码间的映射。这个文件很重要,当你从release版本中收到一个bug报告时,可以用它来翻译被混淆的代码。
seeds.txt – 列出了未被混淆的类和成员
usage.txt – 列出了从.apk中删除的代码
要注意分析mapping.txt与usage.txt看xml视图中写的onClick响应函数, jni调用到的java类与方法, 反射调用过的类与方法是否被混淆或重命名
-keep class com.badlogic.gdx.backends.Android.**{ *;}
的只是不混淆:这个包下的类(不包括子包里的东西),用到一个第三文的类就要把这个类所在的包,像上面加上
还要注意的是android-support-v4.jar这个包问题,这里加上了对这个jar包的处理
第三方jar的混淆,
-optimizationpasses 5
-dontusemixedcaseclassnames
-
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity // 继承activity,application,service,broadcastReceiver,contentprovider....不进行混淆
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.
-libraryjars /libs/android-support-v4.jar
-libraryjars /libs/gdx-backend-android.jar
-libraryjars /libs/gdx.jar123123
// 这里不对第三方的jar包的提出WARN
-dontwarn com.badlogic.**
-dontwarn android.support`这里写代码片`.v4.**
-dontwarn android.support.v4.view.**12341234
// 这里对第三方jar包的类不进行混淆
-keep class com.badlogic.gdx.backends.android.**{ *;}
-keep class com.badlogic.gdx.**{ *;}
-keep class com.badlogic.gdx.graphics.g2d.**{ *;}
-keep class com.badlogic.gdx.graphics.**{ *;}
-keep class android.support.v4.view.**{ *;}123456123456
// 这里第三方JAR包处理结束
-keepclasseswithmembernames class * { // natvie 方法不混淆
native ;
} 12341234
-keepclasseswithmembers class * {
// 对于所有类,有这个构造函数不进行混淆,主要是为了在layout中的,自定义的view
public (android.content.Context, android.util.AttributeSet);
} 12341234
-keepclasseswithmembers class * {
public (android.content.Context, android.util.AttributeSet, int);
} 123123
-keepclassmembers class * extends android.app.Activity {
// 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
public void *(android.view.View);
} 12341234
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
} 12341234
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
Ⅳ android studio 怎么引用Zxing包
1.下载ZXing库
首先需要一个ZXing库和Core Jar包
ZXing库: https://github.com/zxing/zxing
Core Jar包 :http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/core-3.2.1.jar
主要是用红框那两个包,而core包你可以编译成jar包或者用我上面那个jar包链接下载。
2.接入
在你项目中,File -> New -> Import Mole 把刚下载的android包添加进入
其实现在是两个项目,为了区别是依赖库,首先在File -> Project Strcture -> 在Mole选择自己的项目 Dependencies ->加上Mole Dependency ,然后在ZXing的build.gradle下第一行改成如下,还有把下面的 applicationId那行删掉。
修改前
apply plugin: 'com.android.application'
修改后
apply plugin: 'com.android.library'
1
2
3
4
5
1
2
3
4
5
然后会报一堆红色错误,这是正常的。下一步是把Core Jar包导入ZXing,在ZXing创建一个libs文件夹,把Core Jar放进去,然后右键 As Add Library。
错误已经没了一半,接下来发现会少一个CameraConfigurationUtils类,这个就是刚才在android-core下的那一个类,把它拖到camera包下就好了。
接下来的错误都能Alt+Enter解决,把Switch改成if else。到这步不行的同学可以试试移除Mole再试试。
运行时就会报Execution failed for task ‘app:processDebugManifest’,只要自己项目的AndroidManifest.xml文件 application标签加上 tools:replace=”icon,theme”,然后alt+Enter导入命名空间就好了。
3.使用
在自己的项目中startActivity CaptureActivity 就可以了。
返回的数据在这行代码里面。
CharSequence displayContents = resultHandler.getDisplayContents();
1
1
至于横屏改为竖屏,在AndroidManifest.xml文件的CaptureActivity 改一下就好了。
android:screenOrientation="portrait"
Ⅵ 如何在android studio 中引入zxing
方法一:Android studio引入了grandle,导入第三方库需要在里面配置。将zxing解压后把Httpzoid目录到你项目的目录下,添加后android studio的项目下会自动出现这个目录,然后进行grandle配置,具体可以去网络搜一下很多。
方法二:导入zxing库的jar包:在libs文件夹和添加的*.jar文件下鼠标单击菜单 add as library
打开App目录下有个build.gradle文件应该项目结构文件,上述的动作只是为了在在文件下添加。其实Android studio本身自带
的库挺多,选择项目单击Open Mole Settings,在Dependencies中,点击右边绿色加号,搜索zxing选择添加文件
dependencies {
compile files('libs/android-support-v13.jar')
compile files('libs/zxing.jar')}
方法三,猥琐点,把工程复制黏贴到自己的项目工程,把工程包名改,哈哈
Ⅶ android 两个jar包里都引用zxing怎么处理
没错Jar包里面是没有xml布局文件的,因此你会找不到id,如果有布局文件的话就把布局文件拷贝到项目中 查看原帖>>
Ⅷ 请教一下Android Studio中ZXING的用法
因为这个zxing的库是属于library,如果你复制到项目中以后,会有缓存问题
你可以先clean一下项目,将缓存文件清除
建议使用Android Studio做开发工具,Android studio是基于Intellij IDEA专门为安卓开发的IDE,自从android Studio 1.0正式版发布以后google已经正式使用android Studio了,目前版本是 1.3.2 正式版
Ⅸ android导入第三方jar包报错 如何正确导入jar包
在android上导入zxing.jar包,总是报错:Could not find class 'com.google.zxing.MultiFormatWriter', referenced from method com.changyang.app.util.Encode2dUtil.creat2DCode后来找到了解决方法:在adt17 的版本之前,导入第三方jar包时要建立一个lib目录,并 add to buiild path。在adt17的版本之后,导入第三方jar包,要建立一个libs目录,不能使用lib命名,adt会自动将jar依赖。不用手动添加了。