预测卡上的 JavaCard applet 大小

Predicting JavaCard applet size on card

当我 "Clean and Build" 一个 JavaCard 项目时,它会生成一个 CAP、EXP 和 JCA 文件。通常,CAP 文件将由 GlobalPlatformPro 或其他 GlobalPlatform 工具包等工具用于将 CAP 文件安装到 JavaCard 中。

我注意到我的 CAP 文件大小徘徊在 44KB 左右,而我的 JCA 是 82KB。在 CAP 和 JCA 文件之间,我应该使用哪一个来最准确地衡量我的代码大小?

JCA(Java Card Assembly)是 CAP 文件的文本表示。

CAP 文件是一个容器文件,这个容器中的每个组件本身就是一个文件。它包含有关转换包的信息,其中每个组件都包含有关转换包的信息。该文件将用于 GP 客户端(或类似的东西)将字节码(在 cap 文件中)加载到卡上。

如果要将小程序转换为最终安装到智能卡上,则可以生成一个 CAP 文件和一个 JCA 文件。然后您可以检查 JCA 文件,以用户友好的可读方式检查 CAP 文件中的内容。

所以,

which one should I use to guage the size of my codes most accurately ?

相对而言,这两个文件(CAP 和 JCA)的大小都会随着源代码的任何更改而改变,但是您可以为此检查 CAP 文件大小。

有关 CAP 和 JCA 的更多信息,请访问。 https://www.oracle.com/technetwork/java/embedded/javacard/documentation/applet-136808.html#capfl

GPPro 会显示代码大小-cap file.cap -info

回复@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