- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
以下错误迫使我在不使用 IDE 的情况下在命令行中深入研究 cap 文件的构建过程。现在,我可以使用 java/javac 系列命令从命令行构建 cap 文件。但是我有一个小程序,如果通过 eclipse IDE 构建,它会成功创建一个 cap 文件,但当我尝试在命令行中构建时遇到错误。当我尝试正确设置 gradle build设置/环境时,我也遇到了同样的错误。这是错误:
[ant:convert] [ INFO: ] Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
[ant:convert]
[ant:convert]
[ant:convert] warning: You did not supply export file for the previous minor version of the package
[ant:convert] [ INFO: ] conversion completed with 1 errors and 1 warnings.
[ant:convert] error: Class org/dx/tools/TestApplet, specified in -applet option, is abstract.
请注意,这是一个正在运行且经过测试的小程序,与使用此小程序的其他小程序结合在一起。这是在 Eclipse IDE 中构建的。
我还可以生成 .class
文件。问题出在将类文件转换为 cap
文件期间。
它的样子是这样的:
package org.dx.tools;
import org.globalplatform.GPSystem;
import org.globalplatform.SecureChannel;
import javacardx.apdu.ExtendedLength;
import javacard.framework.ISO7816;
import javacard.framework.ISOException;
import javacard.framework.Util;
import javacard.framework.APDU;
import javacard.framework.APDUException;
import javacard.framework.Applet;
import javacard.framework.AppletEvent;
public abstract class TestApplet extends Applet implements AppletEvent,
ExtendedLength {
...
}
此 .cap
是其他五个之一。其他的不是抽象的,而是继承自这个的。由于它是在 eclipse IDE 中构建的,因此我实际上可以通过获取 IDE 的输出来构建其他 cap 文件。首先,我 jar
类,因为正如我所说,我可以创建类并提供给 java
转换命令来构建其他 caps,并且我还使用 IDE 生成的 TestApplet.exp
。
更新:2019/11/17 Here是能够从 .class
构建到 .cap
的实际 java
命令选项。我从 Eclipse IDE 转换日志中获取了这一点。
如果答案可以确认这是当前的 gradle 限制,那么我会接受这个答案。如果答案可以显示什么是正确的 gradle 设置以使其正常工作,那么我会接受这个答案。谢谢。
最佳答案
这很可能是由于链接到较新或较旧版本的库,而在构建过程中针对不同的 Java Card 版本。请注意,转换器创建预链接的代码,因此它期望链接到正确的版本。
这与 Java SE 不同,在 Java SE 中,类可以在运行时链接,并且方法和字段的位置并不重要,因为它们是在运行时创建的。
关于java - Eclipse IDE 能够生成 javacard cap 文件,但在命令行中我遇到此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58832802/
我已经开始使用 JavaCards 并试图掌握 CLA 字节的含义。 如果阅读RFC 5.4.1 Class byte 5.4.1 Class byte According to table 8 us
我有一张 Gemalto Top DL v2 java 卡。当我 list 内容时,卡中加载了很多包: GlobalPlatformPro:> gp -visa2 -key 47454D5850524
我想读取 Java 卡上的 TLV 编码证书(NXP JCOP J3D081、JCOP 版本 2.4.2、Java 卡版本 3.0.1 Classic)。 cap 文件已成功创建,但当我尝试将其安装到
我想知道 JavaCard 中的 Util.* 函数是否通常是抗侧 channel 的。 是否存在一些具有侧 channel 抗性 Util.* 功能的 JavaCard? 我查看了几个公共(publ
我想配置一个 JavaCard,以便它只允许安装由特定 key 签名的小程序。我不确定这个签名是否是 cap 文件格式的一部分。我已经可以通过 GlobalPlatformPro 中的代码从 Andr
在尝试反编译 capfile 时研究 JCVM 规范,我想到了以下问题: 描述符组件(6.13)说: The Descriptor Component provides sufficient info
如您所知,OTA 消息或无线消息是特制的二进制 SMS 消息,移动运营商使用这些消息向 SIM 卡发送 APDU 命令以进行管理。例如,他们可以使用此类消息在 SIM 卡上安装或删除小程序。 我想知道
我正在寻找一个使用Java Card在SIM卡上运行的简单初学者程序。谁能给我一些入门的基本信息?我已经看过一些关于工具包api的描述,但是我正在寻找类似的东西:sim卡支持哪些功能,如何将我的代码上
我有一个空的 Javacard,如下所示: user@system$ java -jar gp.jar --list ISD: A000000003000000 (OP_READY) Pri
我是智能卡开发的新手。请帮助我了解如何开始。 Javacard和JCOP之间有什么关系? 如何将JCOP版本映射到GlobalPlatform Card Specification? 例如,JCOP
我正在尝试理解java卡的概念,我有一些疑问,我想与大家分享,也许你能给我任何最好的建议。 //Jcop- 我在某处读到 Java Card OpenPlatform (JCOP) 是由 IBM Zü
java卡现在有什么用?该文档要么非常旧,要么非常稀疏。谷歌搜索了一段时间后,这是我的想法: eID:使用私钥签署文档哈希,由中央机构(政府)颁发 - 签署法律文件 唯一 ID - 通过 ID 识别(
我想在 Linux 计算机上生成证书,将其传输到卡并在那里加密。然后将其存储并稍后取回。我想知道如何在卡上获取 4k RSA 数据之类的东西。它可以与 APDU 配合使用吗? 最佳答案 证书一般不需要
我尝试使用oracle java card development kit 3.0.5u2命令行工具。 我用的是netbeans生成的cap文件 我用 verifycap.bat在我的帽子上以及 sd
有人可以给我一些关于如何使用 javacard 签名并验证它的小建议吗?我想我在签名生成和验证方面做错了: ... SignatureMessageRecovery sig; ... private
我正在尝试在卡上签署一条消息并在卡外验证它。 结果总是假的。 我可能获取的模数和指数不正确。有什么想法吗? Java 小程序代码: protected MainApplet() { try {
我想开发一个使用 java 卡的生物识别指纹认证,我发现 javacard 2.2 提供了 APIs (javacardx.biometry) 来做到这一点,但我没有找到任何关于Match On Ca
我注意到我的智能卡(带有 Omnikey 5121 读卡器的 NXP J2E145、J3A081、J3C145)上出现了一些非常奇怪的行为:调用 JavaCard 方法后立即断电 JCSystem.r
我有一个包含我的小程序的双接口(interface) Java 卡。我想对来自不同接口(interface)的单个命令有两个不同的 APDU 响应。 例如,当从接触界面接收到命令时,我想用“Con
我一直在查看 JavaCard API 和示例,但找不到对更高级别数据集合(如 List、ArrayList、HashMaps 等)的任何引用? 我错过了什么吗? 我知道 JavaCard 环境的资源
我是一名优秀的程序员,十分优秀!