質問編集履歴
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
```
|
14
14
|
|
15
|
-
Java側で存在するはずのアルゴリズム名を指定しているのにNoSuchAlgorithmExceptionが出てしまう。
|
15
|
+
(済)Java側で存在するはずのアルゴリズム名を指定しているのにNoSuchAlgorithmExceptionが出てしまう。
|
16
16
|
|
17
17
|
C++側でJava側に正常に引数が渡せていない模様。
|
18
18
|
|
@@ -56,9 +56,25 @@
|
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
|
59
|
+
try
|
60
60
|
|
61
|
+
{
|
62
|
+
|
63
|
+
MessageDigest md = MessageDigest.getInstance("MD5");
|
64
|
+
|
61
|
-
hash = md.digest(str_bytes);
|
65
|
+
hash = md.digest(str_bytes);
|
66
|
+
|
67
|
+
}
|
68
|
+
|
69
|
+
catch (NoSuchAlgorithmExpection e)
|
70
|
+
|
71
|
+
{
|
72
|
+
|
73
|
+
hash = new byte[1];
|
74
|
+
|
75
|
+
hash[0] = 0;
|
76
|
+
|
77
|
+
}
|
62
78
|
|
63
79
|
}
|
64
80
|
|
1
一部誤字修正。GetByteArrayElementsのisCopy引数に渡すためのjbooleanを追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
|
3
|
-
AndroidにおいてNativeActivityを使ったアプリ。
|
3
|
+
AndroidにおいてAndroid版DXライブラリとNativeActivityを使ったアプリ。
|
4
4
|
|
5
5
|
JNIを使って、MD5ハッシュを取得したい。
|
6
6
|
|
@@ -13,6 +13,10 @@
|
|
13
13
|
```
|
14
14
|
|
15
15
|
Java側で存在するはずのアルゴリズム名を指定しているのにNoSuchAlgorithmExceptionが出てしまう。
|
16
|
+
|
17
|
+
C++側でJava側に正常に引数が渡せていない模様。
|
18
|
+
|
19
|
+
|
16
20
|
|
17
21
|
```
|
18
22
|
|
@@ -76,6 +80,8 @@
|
|
76
80
|
|
77
81
|
{
|
78
82
|
|
83
|
+
//DXライブラリのANativeActivityを取得する関数
|
84
|
+
|
79
85
|
auto nativeactivity = GetNativeActivity();
|
80
86
|
|
81
87
|
JNIEnv* env;
|
@@ -92,7 +98,7 @@
|
|
92
98
|
|
93
99
|
|
94
100
|
|
95
|
-
jmethodID jmeth
|
101
|
+
jmethodID jmethodID_CalculationMD5 = env->GetMethodID(jclass_(プロジェクト名), "CauculationMD5", "(Ljava/lang/String;)V");
|
96
102
|
|
97
103
|
|
98
104
|
|
@@ -102,7 +108,7 @@
|
|
102
108
|
|
103
109
|
//MD5を計算
|
104
110
|
|
105
|
-
env->CallVoidMethod(nativeactivity->clazz, jmeth
|
111
|
+
env->CallVoidMethod(nativeactivity->clazz, jmethodID_CalculationMD5, jstr);
|
106
112
|
|
107
113
|
|
108
114
|
|
@@ -110,9 +116,11 @@
|
|
110
116
|
|
111
117
|
jfieldID jfieldID_hash = env->GetFieldID(jclass_(プロジェクト名), "hash", "[B");
|
112
118
|
|
113
|
-
jbyteArray hasharr = (jbyteArray)env->GetObjectField(
|
119
|
+
jbyteArray hasharr = (jbyteArray)env->GetObjectField(nativeactivity->clazz, jfieldID_hash);
|
114
120
|
|
121
|
+
jboolean boolean;
|
122
|
+
|
115
|
-
auto hasharrptr = env->GetByteArrayElements(hasharr, n
|
123
|
+
auto hasharrptr = env->GetByteArrayElements(hasharr, &boolean);
|
116
124
|
|
117
125
|
|
118
126
|
|