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依賴。不用手動添加了。