1. git 에서 TensorFlow repository 를 다운로드

2. Bazel 을 설치

1. Java JDK 8 or later 인스톨

2. msys2 shell 설치

Bazel 을 직접 빌드할거 아니면, 20160205 버전의 msys2 shell 을 다운받아서 설치 (정신건강에 이로움)

3. msys2 shell 에서 아래 명령을 통해서 인스톨

pacman -Syuu gcc git curl zip unzip zlib-devel

4. msys64 설치폴더가 'c:\msys64' 인 경우 'c:\msys64/usr/bin' 을 환경변수 PATH 에 추가.

- msys-2.0.dll 을 찾을 수 있게 하기 위함.

- msys64 실행되고 나면, 해당 쉘에서 아래 명령으로 환경변수 추가.

export JAVA_HOME="$(ls -d C:/Program\ Files/Java/jdk* | sort | tail -n 1)"
export BAZEL_SH=c:/tools/msys64/usr/bin/bash.exe

- 다 되고나면, where msys-2.0.dll 를 수행해서 제대로 path 처리됬는지 확인

5. 미리 빌드된 bazel 을 다운로드 후, 설치

- 시발..설치가 아니네. 해당 파일 자체가 bazel 임.

- 해당 파일을 msys 설치폴더에 복사.

- 그리고나서 msys64 쉘에서 exe 파일을 실행해야 설치됨.



3. NDK 를 설치

1. Android Studio 의 SDK Manager 를 통해서 NDK 설치하는게 정신건강에 이로움

4. Android SDK 를 설치


5. 드라이브 이동은 /d /e 형태로 하면 됨.

6. msys2 실행한 뒤, tensorlfow 폴더 안으로 들어가서,

7. export PATH=C:\\Python:$PATH 

같은 식으로 python 의 path 를 잡아줌

8. Bazel 은 /usr/bin 에 넣어줌

9. PYTHON_BIN_PATH 에 python.exe 위치 등록해줌. 물론 exe 는 빼고 python 까지만.

10. tensorflow repository root 위치에서 ./configure 를 실행, 각종 설정 만지기..

11. 레파지토리 안에 있는 WORKSPACE 라는 파일 열어서 수정

NDK 와 SDK 패스 잡아주기


11. ../bazel build -c opt //tensorflow/examples/android:tensorflow_demo

를 실행.



하고나면...

build-tools\25.0.1\aapt 파일을 찾을 수 없다는 에러가 남.


찾아보면 bazel 버그라고 함.




결론은..윈도우에서 안드로이드용 so 파일 빌드하는건 안하는게 정신건강에 좋음


MAC 이나 Linux 에서 안드로이드용으로 so, a 파일을 빌드하고, 윈도우에서는 가져다 쓰는게 좋음.



삽질했네.