我正在使用cygwin和Windows7编译本机代码.我在互联网上获得了很多优化技巧.
APP_OPTIM := release
ndk-build NDK_DEBUG=0
-DNDEBUG
LOCAL_CFLAGS += -O2
Run Code Online (Sandbox Code Playgroud)
但我无法理解如何在Application.mk和Android.mk上设置这些.我通过应用上述提示尝试了很多案例.但是,我不认为优化应用于我的本机代码.
Application.mk
APP_PROJECT_PATH := $(shell pwd)
APP_MODULES := native_lib
APP_OPTIM := release
APP_BUILD_SCRIPT := Android.mk
APP_ABI := armeabi
Run Code Online (Sandbox Code Playgroud)
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := crypto
LOCAL_SRC_FILES := lib/libcrypto.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := native_lib
LOCAL_SRC_FILES := nativeC.c \
AES/main.c \
AES/aes.c \
LOCAL_C_INCLUDES := ./lib
LOCAL_SHARED_LIBRARIES := crypto
LOCAL_CFLAGS += -O2
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
LOCAL_LDLIBS += -ldl
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
我希望有很多评论.
此外,
首先,我尝试比较上述标志与没有标志之间的情况.(例如,我用APP_OPTIM编译我的程序:=在Application.mk中发布,然后我在没有它的情况下编译或者再次使用APP_OPTIM:= debug编译.)但是,我看不到运行速度的任何变化. …
Android 中包含 OpenSSL 吗?如果是这样,我如何调用OpenSSL函数,例如AES加密?
我想知道ECDSA签名和公钥的数据格式是什么规范(或标准)定义的?
我正在 java 卡上测试 ECDSA 签名。我发现签名和公钥值中有一个TLV格式。
* Public key (TV format)
[Tag=04] [public key value 1] [public key value 2]
04 038A3F59E813995DAB730588CFCBB985F5A1ED90C0D62960AE0B274D 2E6B12672318E0B113DECC0406B62887B6BCB9B1583B1A50779EAB5A
* Signature (TLV format)
[Tag=30] [Length=3C~3E] [Tag=02] [Length=1C~1D] [signature value 1] [Tag=02] [Length=1C~1D] [signature value 2]
303C 021C 7EEB0B2596F74344B3D7B046EA0BD17C4461FC277658CE93509F1674 021C 4F5DBFB30D994664DA80528847A767F0194876B068E5958161797991
303E 021D 0080F20B82D407AE663F010F4990F12073631D653EA1D65DC75EBD4293 021D 00880DB667EF51AEA8E7C9BB012496C7C9ECE3BC5829B82B692B9211C3
303D 021D 00F77447EF326A4A49597D0B839F68F524891F3655DA4561F1AA10EF70 021C 152F7FF18644C5E5C9118736E1F7528F0B10C5FF641C7B7CDF012129
303D 021D 00A2EBCC5C5981341D0726F2E846CC3879C74EFD64D8698589A8CEAB60 021C 6E04FF884A451D7C0737A182BC2DE7F7D3008EE182B46A009BFFC9E8
Run Code Online (Sandbox Code Playgroud)
我认为数据格式是在某些规范或标准中定义的。我只想知道文档名称。
那里
我不明白为什么不会出现错误'类不支持'.
首先,我的源代码和APDU命令如下
<源代码>
package SelectFileTest;
import javacard.framework.*;
public class SelectFileTest extends Applet{
public static void install(byte[] bArray, short bOffset, byte bLength) {
new SelectFileTest(bArray, bOffset, bLength);
}
private SelectFileTest(byte bArray[], short bOffset, byte bLength){
register();
}
public void process(APDU apdu){
byte buf[] = apdu.getBuffer();
if (buf[1]==(byte)0xA4) {
if((buf[0]&0xff)!=0x00) // Class Check (Question)
ISOException.throwIt((short)0xfff5);
if(selectingApplet())
{ }
else
ISOException.throwIt((short)0xffff); // 6881
}
return ;
}
}
Run Code Online (Sandbox Code Playgroud)
<APDU命令>
[Card-1C] <== 00 A4 04 00 07 A0000000031234
[Card-1R] ==> 9000
[Card-2C] <== …Run Code Online (Sandbox Code Playgroud) 我想在 Eclipse 中使用以下参数运行我的 java 代码。
java -cp "../../" -Djavax.net.ssl.trustStore=peer01KeyStore.jks MainCmd -v -p 0 -c config.peer01.properties
Run Code Online (Sandbox Code Playgroud)
因此,我单击“运行->运行配置->Java应用程序->参数”,然后输入了没有第一个“java”的长参数(-cp“../../”-Djavax.net.ssl.trustStore= “程序参数”中的peer01KeyStore.jks MainCmd -v -p 0 -c config.peer01.properties)。但这不起作用。
参数的含义如下,我不确定它们到底是什么。
希望详细如何设置参数。提前致谢。