質問編集履歴

11

修正

2019/05/19 23:46

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -7,177 +7,3 @@
7
7
 
8
8
 
9
9
  https://blog.fujiu.jp/2019/02/how-to-support-64-bit-libraries-android.html
10
-
11
-
12
-
13
- 追記
14
-
15
- android studioにandroid ndkをインストールして下記URLを参考にビルドしてみたのですが、
16
-
17
- エラーが発生しました。
18
-
19
- コンパイラオプションとしてSOME_FLAG3を有効にしているだけだと思ったのですが、ちがうのでしょうか。
20
-
21
-
22
-
23
- https://qiita.com/kenmasu/items/598496840eef775db142
24
-
25
-
26
-
27
- エラー
28
-
29
- > Build command failed.
30
-
31
- Error while executing process /xxx/Library/Android/sdk/ndk-bundle/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/xxx/app/src/main/jni/Android.mk APP_ABI=x86 NDK_ALL_ABIS=x86 NDK_DEBUG=0 APP_PLATFORM=android-16 NDK_OUT=/xxx/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=/xxx/app/build/intermediates/ndkBuild/release/lib LOCAL_CFLAGS+=-SOME_FLAG3 LOCAL_CFLAGS+=-DSOME_FLAG4 /xxx/app/build/intermediates/ndkBuild/release/obj/local/x86/xxx.so}
32
-
33
- [x86] Compile : xxx <= xxx.c
34
-
35
- clang: error: unknown argument: '-SOME_FLAG3'
36
-
37
- make: *** [/xxx/app/build/intermediates/ndkBuild/release/obj/local/x86/objs/xxx/xxx.o] Error 1
38
-
39
-
40
-
41
- makefile
42
-
43
- ``` makefile
44
-
45
- LOCAL_PATH := $(call my-dir)
46
-
47
-
48
-
49
- include $(CLEAR_VARS)
50
-
51
-
52
-
53
- DEEP_OPTIMIZATION := false
54
-
55
- TARGET_ARCH_VARIANT := $(strip $(TARGET_ARCH_VARIANT))
56
-
57
- LOCAL_CPP_EXTENSION := .cc
58
-
59
- LOCAL_ARM_MODE := arm
60
-
61
- LOCAL_CFLAGS := -Wall -Wextra -O3
62
-
63
-
64
-
65
- ifneq (,$(findstring arm,$(TARGET_ARCH)))
66
-
67
- ### ARM
68
-
69
- ifndef TARGET_ARCH_VARIANT
70
-
71
- ifeq (armeabi-v7a,$(TARGET_ABI))
72
-
73
- TARGET_ARCH_VARIANT := armv7-a
74
-
75
- else
76
-
77
- TARGET_ARCH_VARIANT := armv5te
78
-
79
- endif
80
-
81
- endif
82
-
83
- ifneq (,$(findstring armv7-a,$(TARGET_ARCH_VARIANT)))
84
-
85
- ### ARMv7-A
86
-
87
- LOCAL_CFLAGS += -march=armv7-a -mtune=cortex-a8
88
-
89
- ifneq (,$(findstring -neon,$(TARGET_ARCH_VARIANT)))
90
-
91
- ### Geratate NEON instructions.
92
-
93
- LOCAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp
94
-
95
- else
96
-
97
- ### Geratate VFP instructions.
98
-
99
- LOCAL_CFLAGS += -mfpu=vfpv3-d16 -mfloat-abi=softfp
100
-
101
- endif
102
-
103
- else
104
-
105
- ### ARMv5TE (but tune for ARM1136JF-S (ARMv6))
106
-
107
- LOCAL_CFLAGS += -mtune=arm1136jf-s
108
-
109
- endif
110
-
111
- ifneq (,$(findstring -vfp,$(TARGET_ARCH_VARIANT)))
112
-
113
- ### Geratate VFP instructions. May have compatibility issue.
114
-
115
- LOCAL_CFLAGS += -mfpu=vfp -mfloat-abi=softfp
116
-
117
- endif
118
-
119
- else
120
-
121
- ### x86
122
-
123
- endif
124
-
125
-
126
-
127
- ifdef DEEP_OPTIMIZATION
128
-
129
- ifeq (true,$(DEEP_OPTIMIZATION))
130
-
131
- ### Farther optimizations
132
-
133
- LOCAL_CFLAGS += -funroll-loops
134
-
135
- ifeq (,$(findstring clang,$(NDK_TOOLCHAIN_VERSION)))
136
-
137
- ### Options only for GCC
138
-
139
- LOCAL_CFLAGS += -fgcse-sm -fgcse-las -fprefetch-loop-arrays
140
-
141
- else
142
-
143
- ### Options only for LLVM/Clang
144
-
145
- LOCAL_CFLAGS += -fstrict-enums -fno-rtti -fno-math-errno
146
-
147
- endif
148
-
149
- endif
150
-
151
- endif
152
-
153
-
154
-
155
- LOCAL_CFLAGS += $(LOCAL_CFLAGS_OPT)
156
-
157
- LOCAL_MODULE := xxx
158
-
159
- LOCAL_SRC_FILES := xxx.c.arm
160
-
161
- LOCAL_SRC_FILES += xxx.cc.arm
162
-
163
- LOCAL_SRC_FILES += xxx.cc.arm
164
-
165
- LOCAL_SRC_FILES += xxx.c.arm
166
-
167
- LOCAL_SRC_FILES += xxx.c.arm
168
-
169
- LOCAL_SRC_FILES += xxx.c.arm
170
-
171
- LOCAL_SRC_FILES += xxx.c.arm
172
-
173
- LOCAL_LDLIBS := -llog
174
-
175
- LOCAL_LDLIBS += -lOpenSLES
176
-
177
-
178
-
179
- include $(BUILD_SHARED_LIBRARY)
180
-
181
-
182
-
183
- ```

10

修正

2019/05/19 23:46

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  エラーが発生しました。
18
18
 
19
- build.gradle設定すargumentsは下記そままはなく、makeファイルの内容を設定る必要あるのでしょうか。
19
+ コンパイラオプションとしてSOME_FLAG3を有効していだけだと思ったのですが、ちがうのでしょうか。
20
20
 
21
21
 
22
22
 

9

修正

2019/05/17 09:37

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,17 @@
24
24
 
25
25
 
26
26
 
27
- エラー:anknown argument: '-SOME_FLAG3'
27
+ エラー
28
+
29
+ > Build command failed.
30
+
31
+ Error while executing process /xxx/Library/Android/sdk/ndk-bundle/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/xxx/app/src/main/jni/Android.mk APP_ABI=x86 NDK_ALL_ABIS=x86 NDK_DEBUG=0 APP_PLATFORM=android-16 NDK_OUT=/xxx/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=/xxx/app/build/intermediates/ndkBuild/release/lib LOCAL_CFLAGS+=-SOME_FLAG3 LOCAL_CFLAGS+=-DSOME_FLAG4 /xxx/app/build/intermediates/ndkBuild/release/obj/local/x86/xxx.so}
32
+
33
+ [x86] Compile : xxx <= xxx.c
34
+
35
+ clang: error: unknown argument: '-SOME_FLAG3'
36
+
37
+ make: *** [/xxx/app/build/intermediates/ndkBuild/release/obj/local/x86/objs/xxx/xxx.o] Error 1
28
38
 
29
39
 
30
40
 

8

追記

2019/05/17 07:47

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,149 @@
25
25
 
26
26
 
27
27
  エラー:anknown argument: '-SOME_FLAG3'
28
+
29
+
30
+
31
+ makefile
32
+
33
+ ``` makefile
34
+
35
+ LOCAL_PATH := $(call my-dir)
36
+
37
+
38
+
39
+ include $(CLEAR_VARS)
40
+
41
+
42
+
43
+ DEEP_OPTIMIZATION := false
44
+
45
+ TARGET_ARCH_VARIANT := $(strip $(TARGET_ARCH_VARIANT))
46
+
47
+ LOCAL_CPP_EXTENSION := .cc
48
+
49
+ LOCAL_ARM_MODE := arm
50
+
51
+ LOCAL_CFLAGS := -Wall -Wextra -O3
52
+
53
+
54
+
55
+ ifneq (,$(findstring arm,$(TARGET_ARCH)))
56
+
57
+ ### ARM
58
+
59
+ ifndef TARGET_ARCH_VARIANT
60
+
61
+ ifeq (armeabi-v7a,$(TARGET_ABI))
62
+
63
+ TARGET_ARCH_VARIANT := armv7-a
64
+
65
+ else
66
+
67
+ TARGET_ARCH_VARIANT := armv5te
68
+
69
+ endif
70
+
71
+ endif
72
+
73
+ ifneq (,$(findstring armv7-a,$(TARGET_ARCH_VARIANT)))
74
+
75
+ ### ARMv7-A
76
+
77
+ LOCAL_CFLAGS += -march=armv7-a -mtune=cortex-a8
78
+
79
+ ifneq (,$(findstring -neon,$(TARGET_ARCH_VARIANT)))
80
+
81
+ ### Geratate NEON instructions.
82
+
83
+ LOCAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp
84
+
85
+ else
86
+
87
+ ### Geratate VFP instructions.
88
+
89
+ LOCAL_CFLAGS += -mfpu=vfpv3-d16 -mfloat-abi=softfp
90
+
91
+ endif
92
+
93
+ else
94
+
95
+ ### ARMv5TE (but tune for ARM1136JF-S (ARMv6))
96
+
97
+ LOCAL_CFLAGS += -mtune=arm1136jf-s
98
+
99
+ endif
100
+
101
+ ifneq (,$(findstring -vfp,$(TARGET_ARCH_VARIANT)))
102
+
103
+ ### Geratate VFP instructions. May have compatibility issue.
104
+
105
+ LOCAL_CFLAGS += -mfpu=vfp -mfloat-abi=softfp
106
+
107
+ endif
108
+
109
+ else
110
+
111
+ ### x86
112
+
113
+ endif
114
+
115
+
116
+
117
+ ifdef DEEP_OPTIMIZATION
118
+
119
+ ifeq (true,$(DEEP_OPTIMIZATION))
120
+
121
+ ### Farther optimizations
122
+
123
+ LOCAL_CFLAGS += -funroll-loops
124
+
125
+ ifeq (,$(findstring clang,$(NDK_TOOLCHAIN_VERSION)))
126
+
127
+ ### Options only for GCC
128
+
129
+ LOCAL_CFLAGS += -fgcse-sm -fgcse-las -fprefetch-loop-arrays
130
+
131
+ else
132
+
133
+ ### Options only for LLVM/Clang
134
+
135
+ LOCAL_CFLAGS += -fstrict-enums -fno-rtti -fno-math-errno
136
+
137
+ endif
138
+
139
+ endif
140
+
141
+ endif
142
+
143
+
144
+
145
+ LOCAL_CFLAGS += $(LOCAL_CFLAGS_OPT)
146
+
147
+ LOCAL_MODULE := xxx
148
+
149
+ LOCAL_SRC_FILES := xxx.c.arm
150
+
151
+ LOCAL_SRC_FILES += xxx.cc.arm
152
+
153
+ LOCAL_SRC_FILES += xxx.cc.arm
154
+
155
+ LOCAL_SRC_FILES += xxx.c.arm
156
+
157
+ LOCAL_SRC_FILES += xxx.c.arm
158
+
159
+ LOCAL_SRC_FILES += xxx.c.arm
160
+
161
+ LOCAL_SRC_FILES += xxx.c.arm
162
+
163
+ LOCAL_LDLIBS := -llog
164
+
165
+ LOCAL_LDLIBS += -lOpenSLES
166
+
167
+
168
+
169
+ include $(BUILD_SHARED_LIBRARY)
170
+
171
+
172
+
173
+ ```

7

追記

2019/05/17 06:10

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,21 @@
7
7
 
8
8
 
9
9
  https://blog.fujiu.jp/2019/02/how-to-support-64-bit-libraries-android.html
10
+
11
+
12
+
13
+ 追記
14
+
15
+ android studioにandroid ndkをインストールして下記URLを参考にビルドしてみたのですが、
16
+
17
+ エラーが発生しました。
18
+
19
+ build.gradleに設定するargumentsは下記そのままではなく、makeファイルの内容を設定する必要があるのでしょうか。
20
+
21
+
22
+
23
+ https://qiita.com/kenmasu/items/598496840eef775db142
24
+
25
+
26
+
27
+ エラー:anknown argument: '-SOME_FLAG3'

6

文章の修正

2019/05/17 05:59

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -1,13 +1,9 @@
1
- ネイティブコード(C/C++)を含んでいるandroidのライブラリがあるのですが、64bitに対応しso形式で提供したいと考えています。
1
+ ネイティブコード(C/C++)を含んでいるandroidのライブラリがあるのですが、64bitに対応したいと考えています。
2
2
 
3
- 下記サイトを参考にし、build.gradle のandroid -> defaultConfig に ndk.abiFilters の行追加したのですが、android studioでビルドするとAAR形式のファイルが出力されます。
3
+ 古いソースコードでeclipse + Android SDK,NDK使用てビルドしていようなのですが、android studioを使用してもsoファイルを生成ることは可能でしょうか
4
+
5
+ また、android studioで生成できる場合は、下記URLに記載の方法で64bitに対応することが可能なのでしょうか。ご教示願います。
4
6
 
5
7
 
6
8
 
7
9
  https://blog.fujiu.jp/2019/02/how-to-support-64-bit-libraries-android.html
8
-
9
-
10
-
11
- 他にも設定等が必要なのでしょうか。
12
-
13
- ご教示願います。

5

修正

2019/05/17 02:13

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ネイティブコード(C/C++)を含んでいるandroidのライブラリがあるのですが、64bitに対応しso形式で提供したいと考えています。
2
2
 
3
- 下記サイトを参考にし、build.gradle のandroid -> defaultConfig に ndk.abiFilters の行を追加したのですが、AAR形式のファイルが出力されます。
3
+ 下記サイトを参考にし、build.gradle のandroid -> defaultConfig に ndk.abiFilters の行を追加したのですが、android studioでビルドするとAAR形式のファイルが出力されます。
4
4
 
5
5
 
6
6
 

4

修正

2019/05/16 05:48

投稿

sato4000
sato4000

スコア42

test CHANGED
@@ -1 +1 @@
1
- Androidアプリのライブラリ64bit対応について
1
+ Androidライブラリ64bit対応について
test CHANGED
@@ -1,4 +1,4 @@
1
- ネイティブコード(C/C++)を含んでいるandroidのアプリがあるのですが、64bitに対応しso形式で提供したいと考えています。
1
+ ネイティブコード(C/C++)を含んでいるandroidのライブラリがあるのですが、64bitに対応しso形式で提供したいと考えています。
2
2
 
3
3
  下記サイトを参考にし、build.gradle のandroid -> defaultConfig に ndk.abiFilters の行を追加したのですが、AAR形式のファイルが出力されます。
4
4
 

3

文章の修正

2019/05/16 05:38

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,13 @@
1
- 全くの初心者なのすが、わけあってもともとあAndroidアプリのライブラリが64ビットに対応しているか調査しなければいけなくなりした
1
+ ネイティブコード(C/C++)を含んandroidアプリがあるです64bitに対応しso形式で提供したいと考えていま
2
2
 
3
- ブラリが64ビットに対応ているかどうかはネイティブコード(C/C++)含んいるかどうかで判断るしかないでしょうか
3
+ 下記サイトを参考にし、build.gradle のandroid -> defaultConfig に ndk.abiFilters の行追加したのですが、AAR形式ファイルが出力されます
4
4
 
5
+
6
+
7
+ https://blog.fujiu.jp/2019/02/how-to-support-64-bit-libraries-android.html
8
+
9
+
10
+
5
- また、Google側ではどのよう64ビットに対応しているアプリか判断するのでしょうか。
11
+ も設定等が必要なのでしょうか。
6
12
 
7
13
  ご教示願います。

2

編集

2019/05/16 05:38

投稿

sato4000
sato4000

スコア42

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  全くの初心者なのですが、わけあってもともとあるAndroidアプリのライブラリが64ビットに対応しているか調査しなければいけなくなりました。
2
2
 
3
- ライブラリが64ビットに対応しているかどうかはネイティブコードを含んでいるかどうかで判断するしかないのでしょうか。
3
+ ライブラリが64ビットに対応しているかどうかはネイティブコード(C/C++)を含んでいるかどうかで判断するしかないのでしょうか。
4
4
 
5
5
  また、Google側ではどのように64ビットに対応しているアプリか判断するのでしょうか。
6
6
 

1

修正

2019/05/15 23:57

投稿

sato4000
sato4000

スコア42

test CHANGED
@@ -1 +1 @@
1
- Androidアプリのライブラリについて
1
+ Androidアプリのライブラリ64bit対応について
test CHANGED
@@ -1,7 +1,7 @@
1
1
  全くの初心者なのですが、わけあってもともとあるAndroidアプリのライブラリが64ビットに対応しているか調査しなければいけなくなりました。
2
2
 
3
- とりあえず環境を整えてビルドするところまではたどり着いたのです64bitに対応しているかがわりませ。ググったらAnalyze APKるといのまはたどり着のですが、ビルドてもapkファイルが作成されませんので、どしたらよいわからない状況です
3
+ ライブラリが64ビットに対応しているかどうはネイティブコードを含んでいる判断するしかないのでしうか。
4
4
 
5
- 拡張子soのファイルはどのようにすればルド後出力されるのでしょうか。
5
+ またGoogle側ではどのように64ット対応していアプリか判断するのでしょうか。
6
6
 
7
- 併せてご教示願います。
7
+ ご教示願います。