以上就是给各位分享android–如何解释MifareClassic1K上的NDEF内容,其中也会对mifare+classic+tool+这个软件进行解释,同时本文还将给你拓展AndroidDex问
以上就是给各位分享android – 如何解释Mifare Classic 1K上的NDEF内容,其中也会对mifare+classic+tool+这个软件进行解释,同时本文还将给你拓展Android Dex问题造成的NoClassDefFoundError、Android NDk 编译C++遇到的问题getifaddrs was not declared in this scope、Android Studio java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB、Android Studio 之 java.lang.NoClassDefFoundError:等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- android – 如何解释Mifare Classic 1K上的NDEF内容(mifare+classic+tool+这个软件)
- Android Dex问题造成的NoClassDefFoundError
- Android NDk 编译C++遇到的问题getifaddrs was not declared in this scope
- Android Studio java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB
- Android Studio 之 java.lang.NoClassDefFoundError:
android – 如何解释Mifare Classic 1K上的NDEF内容(mifare+classic+tool+这个软件)
我使用Android设备上的NFC Tools应用程序(通过内置NFC读卡器)将文本写入mifare Classic 1K标签.这段文字是“更多”(我的姓).
然后,我正在尝试使用NFC读取器ACR1255U和ACS提供的库来阅读此文本(NDEF格式).
我能够得到以下:
读块4:FF B0 00 04 10响应:0000030ED1010A5402656E6D6F726574 9000
读块5:FF B0 00 05 10响应:746FFE00000000000000000000000000 9000
我知道FE表示内容结束,6D6F726574746F是我的文字.但是如何识别文本的开始位置?我很难理解恩智浦文档中描述的TLV格式.
解决方法:
首先,在这两个应用笔记中指定了NXP针对mifare Classic标签的专有NDEF映射:
> NFC Type MIFARE Classic Tag Operation
> MIFARE Classic as NFC Type MIFARE Classic Tag
正如您已经发现的那样(Unable to authenticate to a MIFARE Classic tag used as NDEF tag),NDEF数据存储在某些扇区的数据块中(NDEF扇区,通过MIFARE Application Directory标记).因此,与NDEF相关的数据是来自这些块的所有数据的组合.
例如.如果您的NDEF扇区是扇区1和2,则需要读取块4,5,6(=扇区1的块0..2)和块8,9,10(=扇区2的块0..2)聚合NDEF标签的数据.
在您的情况下,来自块4和5的数据似乎已足够(因为标记数据的结尾在块5中标记,正如您自己正确找到的那样).您的案例中的相关标签数据是
0000030E D1010A54 02656E6D 6F726574 746FFE00 00000000 00000000 00000000
标签数据本身被打包到TLV(标签长度值)结构中. TLV块由强制标记字节,条件长度字段和可选数据字段组成:
>没有长度和数据字段的TLV:
+----------+ | TAG | | (1 byte) | +----------+
> TLV,其中数据字段的长度为0到254字节:
+----------+----------+-----------+ | TAG | LENGHT n | DATA | | (1 byte) | (1 byte) | (n bytes) | +----------+----------+-----------+
> TLV,其中数据字段的长度为255到65534字节:
+----------+----------+-----------+-----------+ | TAG | 0xFF | LENGHT n | DATA | | (1 byte) | (1 byte) | (2 bytes) | (n bytes) | +----------+----------+-----------+-----------+
您特定情况下的有趣标签是:
> NULL TLV:Tag = 0x00,没有长度字段,没有数据字段
>终结者TLV:Tag = 0xFE,没有长度字段,没有数据字段
> NDEF消息TLV:Tag = 0x03,有字段,有数据字段(虽然可能有零长度)
因此,在您的情况下,数据解码为:
00 NULL TLV (ignore, process next byte) 00 NULL TLV (ignore, process next byte) 03 NDEF Message TLV (contains your NDEF message) 0E Lenght = 14 bytes D1010A5402656E6D6F726574746F Data = NDEF Message FE Terminator TLV (stop processing the data)
NDEF消息可以包含0个,1个或更多NDEF记录.在您的情况下,NDEF消息解码为以下内容:
D1 Record header (of first and only record) Bit 7 = MB = 1: first record of NDEF message Bit 6 = ME = 1: last record of NDEF message Bit 5 = CF = 0: last or only record of chain Bit 4 = SR = 1: short record length field Bit 3 = IL = 0: no ID/ID length fields Bit 2..0 = TNF = 0x1: Type field represents an NFC Forum well-kNown type name 01 Type Length = 1 byte 0A Payload length = 10 bytes 54 Type field (decoded according to the setting of TNF) "T" (in US-ASCII) = binary form of type name urn:nfc:wkt:T 02656E6D6F726574746F Payload field (decoded according to the value of the Type field)
因此,您的NDEF消息由一个文本记录组成(NFC FOrum众所周知的类型,数据有效负载02656E6D6F726574746F.此记录有效负载解码为:
02 Status byte Bit 7 = 0: Text is UTF-8 encoded Bit 6 = 0: Not used Bit 5..0 = 0x02: Length of IANA language code field 656E IANA language code field "en" (in US-ASCII) = Text is in English 6D6F726574746F Text "moretto" (in UTF-8)
Android Dex问题造成的NoClassDefFoundError
前言:
NoClassDefFoundError和ClassNotFoundException相比,前者是类加载后直接抛出(一般属于VM抛出),后者一般是加载时抛出(一般属于ClassLoader抛出),很明显前者是在避免了ClassNotFoundException异常之后抛出的,直白一点就是,前者意味着类是存在的。
显然NoClassDefFoundError这种错误的根源,“链接“和”初始化“阶段发生,当然以初始化为主的比较多。
最终原因时:该类被虚拟机标记为无效的类。
原因:
W/dalvikvm: Unable to resolve superclass of Lcom/tencent/bugly/beta/Beta; (68)
W/dalvikvm: Link of class ''Lcom/tencent/bugly/beta/Beta;'' failed
W/dalvikvm: VFY: unable to resolve static field 154 (autoCheckUpgrade) in Lcom/tencent/bugly/beta/Beta;
D/dalvikvm: VFY: replacing opcode 0x6a at 0x0002
W/dalvikvm: Unable to resolve superclass of Lcom/tencent/bugly/crashreport/CrashReport$UserStrategy; (66)
W/dalvikvm: Link of class ''Lcom/tencent/bugly/crashreport/CrashReport$UserStrategy;'' failed
D/dalvikvm: DexOpt: unable to opt direct call 0x0165 at 0x12 in Lcom/pitaya/buckettool/BucketApplication;.initBugly

Android NDk 编译C++遇到的问题getifaddrs was not declared in this scope
Android Studio java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB
这是我的错误日志与Android Studio 1.0.2实现
02-03 13:05:23.831 8385-8385/com.******.*******E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB at android.support.v4.app.NavUtils$NavUtilsImplJB.getParentActivityName(NavUtils .java:125) at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:302) at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:281) at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:142) at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123) at com..******.*******.****.ActivityWelcome.onCreate(ActivityWelcome.java:33) at android.app.Activity.performCreate(Activity.java:5104) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
组态
buildToolsVersion "21.1.2"android SDK TOOLS"24.0.2"multidex enabledpredexLibraries =falseincremental = truejumboMode = false dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.google.android.gms:play-services:6.5.87'' compile ''com.google.code.gson:gson:2.3'' compile ''com.android.support:support-v4:21.0.3@aar'' compile ''com.android.support:appcompat-v7:21.0.3@aar'' compile project('':ViewPagerIndicator'') compile(''de.keyboardsurfer.android.widget:crouton:1.8.4@aar'') { exclude group: ''com.google.android'', module: ''support-v4'' } compile ''org.java-websocket:Java-WebSocket:1.3.0''}
如何解决这个错误?gradlew清洁无济于事。构建文件夹删除也不起作用。Android Studio编译时未显示任何错误。
答案1
小编典典我遇到了这个问题,只是找到了解决方法-
答案是RTFM!以下是说明:https
:
//developer.android.com/tools/building/multidex.html
Multidexing是一项新功能,因此需要支持库才能与棒棒糖之前的设备兼容。您需要将以下内容添加到gradle文件依赖项中:
compile ''com.android.support:multidex:1.0.0''
同时在gradle文件中启用multidex输出:
android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true }}
然后将multidex支持应用程序添加到清单中:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application></manifest>
注意:
如果您的应用程序已经扩展了Application类,则可以重写attachBaseContext()方法并调用MultiDex.install(this)以启用multidex。有关更多信息,请参见MultiDexApplication
参考文档。
@Overrideprotected void attachBaseContext(Context context) { super.attachBaseContext(context); MultiDex.install(this);}
同样,请参阅上面的说明以获取更多信息…
希望这可以帮助
Android Studio 之 java.lang.NoClassDefFoundError:
今天在使用 Android Studio 编程的过程中遇到了一个 java.lang.NoClassDefFoundError: 的 bug,上网百度了一下尝试很多办法都没有解决。幸好在我的坚持下解决了这个 bug。不过解决的方式让我有点羞愧!其实很多时候 java.lang.NoClassDefFoundError: 这个错误表面上看起来是找不到这个类,但是也应该检查一下环境变量的问题,我就是因为这个原因倒在了它的石榴裙下。
对于刚入门的新手来说,从 eclipse 转到 Android Studio 开发还是需要慢慢适应的,
最主要的问题就是 classpath 这个环境变量的配置上。我之前只有一个 “.” 而已。所以按照网上配置的方法重新配置了一下就可以运行了。
这是环境变量配置过程:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html
我们今天的关于android – 如何解释Mifare Classic 1K上的NDEF内容和mifare+classic+tool+这个软件的分享已经告一段落,感谢您的关注,如果您想了解更多关于Android Dex问题造成的NoClassDefFoundError、Android NDk 编译C++遇到的问题getifaddrs was not declared in this scope、Android Studio java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB、Android Studio 之 java.lang.NoClassDefFoundError:的相关信息,请在本站查询。
本文标签: