我正在使用ESC/P语言在Intermec PB51上打印图像.
在ESC V命令规范中,它说:
打印机收到此命令后,打印机将直接提供的二进制数据转储到打印头.使用此命令打印的图形必须是打印头的精确宽度(以位为单位).
printhead query命令(PH?)使用TD记录为的参数进行回复
TD:打印头上的总点数.
当我将打印头查询命令发送到我的Intermec PB51时,它会以0864总点数作为响应,但是当我在图像打印功能中使用864作为打印机宽度时,图像被搞砸了(因为我似乎也发送了)许多字节,之后打印机处于无效状态).
选择值832可以很好地打印图像.现在的问题是,那些额外的32位(4字节)来自哪里?
我无法在Intermec设备(运行Android 4.2)上安装我使用SHA-256签名的APK .我可以安装相同的APK,在Nexus 5(运行Android 6.0)上没有任何问题. 我已经检查了两个设备,两个设备确实支持SHA-256.
我得到的错误是:
C:\work\n\apks>adb install marlin-app-android-01.00.TRUNK-SNAPSHOT.apk
5136 KB/s (9431036 bytes in 1.793s)
pkg: /data/local/tmp/marlin-app-android-01.00.TRUNK-SNAPSHOT.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Run Code Online (Sandbox Code Playgroud)
我使用此命令对APK进行签名(使用JDK6):
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore nemo.keystore marlin-app-android-01.00.TRUNK-SNAPSHOT.apk NEMO
Run Code Online (Sandbox Code Playgroud)
当我尝试将APK安装到Intermec时,我得到了这个logcat输出:
10-15 11:19:50.550 416-435/? W/ActivityManager? No content provider found for permission revoke: file:///data/local/tmp/marlin-app-android-01.00.TRUNK-SNAPSHOT.apk
10-15 11:19:50.612 416-435/? W/ActivityManager? No content provider found for permission revoke: file:///data/local/tmp/marlin-app-android-01.00.TRUNK-SNAPSHOT.apk
10-15 11:19:50.784 416-435/? W/PackageParser? Exception reading AndroidManifest.xml in /data/app/vmdl381788980.tmp
java.lang.SecurityException: META-INF/NEMO.SF has invalid digest for res/drawable-mdpi-v4/notification.png in /data/app/vmdl381788980.tmp
at java.util.jar.JarVerifier.invalidDigest(JarVerifier.java:134)
at …Run Code Online (Sandbox Code Playgroud)