1.å¨androidä¸ä½¿ç¨googlezxingå®ç°äºç»´ç
2.å¦ä½å¨android studio ä¸å¼å
¥zxing
3.android项目中加入zxing,源码混淆打包出错,求解决
4.安卓zxing扫描器安卓zxing
å¨androidä¸ä½¿ç¨googlezxingå®ç°äºç»´ç
å æå¼æ¬å°ä¸è½½ï¼å¤å¶æ件ï¼æ·è´å°ä»ä»¬ç项ç®ä¸å³å¯ã
é¦å æ们æå¼googleçzxingçå°åï¼googledezxingå°åï¼æ¬å°ä¸è½½ï¼ï¼æå¼ä¹åæ们ä¼çå°çé¢ï¼å°è¿ä¸ªæ件ä¸è½½æ们æ¬å°ï¼ä¸è½½å¥½ä¹åæ们éè¦å¤å¶androidæ件ä¸çå 个类ï¼æ ¹æ®è¿äºç±»å称å¨androidæ件ä¸æ¾å°è¿äºç±»ï¼æ·è´å°ä»ä»¬ç项ç®ä¸ï¼æ·è´ä¹åä¼ææ¥éï¼æ们éè¦å°androidæ件ä¸çresä¸çæ件ä¹æ·è´å°æ们ç项ç®ä¸ãå®æä¹åæ们è¿è¦ä¾èµzxingçæ ¸å¿ç±»åºï¼å½æ们ç项ç®ä¸æ¥éçæ¶åï¼å°±å¯ä»¥å å®ç°æ«æäºç»´ç åçæäºç»´ç ã
å¦ä½å¨android studio ä¸å¼å ¥zxing
ä¸é¢å两ç§æ åµä»ç»ä¸ä¸å¦ä½å¯¼å ¥ç¬¬ä¸æ¹ç±»åºã 1ã对äºjarçç±»åºï¼é常ç®åï¼åªè¦å¨é¡¹ç®æ ¹ç®å½ä¸æ°å»ºä¸ä¸ªlibsç®å½ï¼ç¶åæjarå¤å¶è¿å»ï¼å¨jarä¸ç¹å»å³é®ï¼éæ©Add as libraryï¼å³å¯å®æä¾èµçæ·»å ã 2ã对äºgithubçç½ç«ä¸ä¸è½½çæºç ç±»åºï¼æ¯æ æ³éè¿è¿ç§æ¹å¼æ·»å çãé¦å ægit cloneä¸æ¥çæ´ä¸ªæ件夹æ¾å ¥é¡¹ç®æ ¹ç®å½ä¸ï¼è¿é以æèªå·±çå¼åå 为ä¾ï¼æçå¼åå ååæ¯ShunixDevKitï¼éé¢æä¸ä¸ªlibç®å½ææ¯çæ£çç±»åºï¼é£ä¹æ们è¦åçå°±æ¯æå¨å¨settings.gradleéé¢æ·»å ï¼ include ':ShunixDevKit:lib' 注æï¼gradle使ç¨:ä½ä¸ºè·¯å¾åé符ãè¿æ ·Android Studioå°±ç¥éäºæ们çç±»åºæ¾å¨åªéï¼å½ç¶è¿æ ·è¿æ¯ä¸å¤çï¼è¦è®©é¡¹ç®è½ä½¿ç¨ç±»åºï¼æ们è¿éè¦æ·»å è¿ä¸ªç±»åºä½ä¸ºé¡¹ç®çä¾èµï¼éæ©File->Project Structureï¼ç¶åéä¸ä¸»moduleçå称ï¼ç¹å»dependenciesï¼æ·»å :ShunixDevKit:libå°±å¯ä»¥äºï¼gradleçbuildå°±è½æåã 以ä¸å°±æ¯æ·»å 第ä¸æ¹ç±»åºä½ä¸ºä¾èµçè¿ç¨ãè¿ééè¦æ³¨æä¸ä¸çå°æ¹å°±æ¯ï¼å¯¼å ¥çç±»åºæ ¹ç®å½ä¸çgradlewæ件ä¸å®è¦å¯æ§è¡ï¼å¦åAndroid Studioä¼æ示é误ï¼èä¸æ ¹æ®é误信æ¯å¾é¾æ¾åºæ¥è¿ä¸ªé误ï¼æèªå·±å 为è¿ä¸ªæäºå¾ä¹ ï¼å¸æ对大家æ帮å©ã
android项目中加入zxing,源码混淆打包出错,求解决
写在视图xml中的源码校宝源码onClick响应出错. 因为写在xml中的onClick是通过反射调用的, proguard认为它们没有在代码中被调用过, 所以将它们从代码中除掉或改名了. 解决方法:
在proguard.cfg中添加以下代码, 就可以防止被配在视图xml中的onClick方法被proguard优化掉
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
jni反调Java方法
这些类或方法同样可能会被proguard认为没有调用过而被除掉, 或都被改名. 这些方法最好统一写在一个类中, 然后这个类不作优化, 或是找出所有jni调用过的类与方法, 在proguard.cfg中配置, 不对它们作优化
其它反射调用的java类与方法
使用反射时一定要注意proguard可能会认为那些方法未被调用过, 会在代码优化过程中将它们改名或除去. 在使用反射的地方一定要在proguard.cfg中配置, 不优化反射调用过的类和方法
最后在proguard优化过后会产生一些文件
dump.txt – 描述.apk文件中所有类文件间的内部结构
mapping.txt – 列出了原始的类,方法和字段名与混淆后代码间的源码映射。这个文件很重要,源码开源游戏源码当你从release版本中收到一个bug报告时,源码tensorflow源码可以用它来翻译被混淆的源码代码。
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
-dontskipnonpubliclibraryclasses
-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.ILicensingService
-libraryjars /libs/android-support-v4.jar
-libraryjars /libs/gdx-backend-android.jar
-libraryjars /libs/gdx.jar
// 这里不对第三方的jar包的提出WARN
-dontwarn com.badlogic.
**-dontwarn android.support`这里写代码片`.v4.
**-dontwarn android.support.v4.view.
**// 这里对第三方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.**{ *;}
// 这里第三方JAR包处理结束
-keepclasseswithmembernames class * { // natvie 方法不混淆
native ;
}
-keepclasseswithmembers class * {
// 对于所有类,有这个构造函数不进行混淆,源码主要是为了在layout中的,自定义的源码view
public (android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public (android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
// 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
安卓zxing扫描器安卓zxing
请教一下AndroidStudio中ZXING的源码接口源码用法?我直接使用第三方库依赖,你可以使用已经封装了的源码ZXingAndroidEmbedded库,它专门针对Android开发。源码黑页源码
1、集成方法:
在项目的build.gradle中添加以下依赖:
compile'com.journeyapps:zxing-android-embedded:3.5.0'
compile'com.google.zxing:core:3.3.0'
2、使用示例请参照:https://www.codepool.biz/migrate-projects-to-android-studio.html
微信扫描用的是zbar还是zxing?
android和IOS都是用谷歌的开源框架zxing只是进行了二次开发,将扫描界面重新画了一个