当我“清理并构建” JavaCard项目时,它会生成一个CAP,EXP和JCA文件。通常,CAP文件将由诸如GlobalPlatformPro或其他GlobralPlatform工具包之类的工具用于将CAP文件安装到JavaCard中。
我注意到CAP文件的大小徘徊在44KB左右,而JCA是82 KB。在CAP和JCA文件之间,应该使用哪一个来最准确地确定代码的大小?
答案 0 :(得分:2)
JCA(Java卡组件)是CAP文件的文本表示形式。
CAP文件是一个容器文件,该容器中的每个组件本身就是一个文件。它包含有关转换后的程序包的信息,其中每个组件都包含有关转换后的程序包的信息。该文件将用于GP客户端(或类似的东西)将字节码(在Cap文件中)加载到卡上。
如果要将小程序转换为最终安装到智能卡上,则可以生成CAP文件和JCA文件。然后,您可以通过用户友好的可读方式检查JCA文件,以检查CAP文件中的内容。
所以
我应该使用哪一个最准确地检查代码的大小?
相对而言,两个文件(CAP和JCA)的大小都会随源代码的变化而变化,但是您可以为此目的检查CAP文件的大小。
有关CAP和JCA的更多信息,请参见。 https://www.oracle.com/technetwork/java/embedded/javacard/documentation/applet-136808.html#capfl
答案 1 :(得分:2)
GPPro将使用-cap file.cap -info
答案 2 :(得分:0)
回复@Martin Paljak,这是GPPro输出:
GlobalPlatformPro v0.3.10rc4-0-gb81610e
Running on Windows 7 ..... , Java 1.8.0_151 by Oracle Corporation
**** CAP info of test.cap
CAP file (v2.2) generated on Fri Jan 18 ......... 2019
By Oracle Corporation converter [v3.0.4] with JDK 1.8.0 (Oracle Corporation)
Package: ..... v1.0 with AID ..........
Applet: ..... with AID ..........
Import: A0000000620001 v1.0
Import: A0000000620102 v1.5
Import: A0000000620201 v1.5
Import: A0000000620101 v1.5
Total code size: 5242 bytes (17345 with debug)
SHA256 (code): 2AC53C69054C0B33BC2814A514A60BDE8B4E084FC2136AB562492D54A55C1129
SHA1 (code): B523BF8E49C86157988FD1BDD667E4CC68CFF8EF
No smart card readers with a card found