Skip to content
isdnetworks
Go back

환경마다 설정이 달랐다

같은 앱을 개발과 시험과 운영 세 곳에 붙여야 했고 주소가 각각 달랐다.

Table of contents

Open Table of contents

상수로 두고 있었다

처음에는 주소를 헤더 상수로 두고 있어서 바꾸려면 ndk-build 를 다시 돌려야 했다. 시험할 때마다 주소를 바꿔 빌드했고 오래 걸려 번거로웠다.

한 번은 개발 서버로 맞춰 둔 것을 그대로 냈다. 앱이 개발 서버를 보게 됐고 그때 조심하는 것으로는 안 된다는 것을 알았다.

파일로 뺐더니 문제가 옮겨갔다

주소를 assets 아래 설정 파일로 빼서 빌드 없이 바꾸게 했다. 그랬더니 이번에는 그 파일을 잘못 넣는 일이 생겼다.

빌드를 잘못하는 문제가 파일을 잘못 넣는 문제로 옮겨간 것이다. 손으로 고르는 단계가 남아 있는 한 그 단계에서 틀린다.

빌드에서 갈랐다

Application.mk 에서 받은 값을 Android.mkLOCAL_CFLAGS-D 로 박고 코드에서 #ifdef 로 갈랐다. 개발용에는 개발 주소가 들어간다. 운영용에는 운영 주소가 들어간다. 섞을 수가 없다.

그리고 build.sh 가 그 표시를 인자로 받아 ndk-build 에 넘기게 했다.

build.sh dev
build.sh prod

파일을 손으로 바꾸지 않으니 잊을 일이 없다. 명령이 곧 선택이다.

그래도 명령을 틀릴 수 있어서 나오는 APK 이름에 어느 것인지 넣었다. 이름만 봐도 알 수 있다. 배포 전에 그 이름을 확인하는 단계를 뒀다. 전에는 assets 안을 열어 주소를 확인해야 했는데 이제 볼 것이 하나로 줄었다. 개발 빌드에서는 앱 화면 구석에도 표시했다.

여러 겹의 순서

정리하면 넷이 쌓였다. 빌드 명령으로 선택하고 파일 이름에 표시하고 개발 빌드는 화면에 표시하며 배포 전에 이름을 확인한다.

각각은 뚫릴 수 있다. 명령을 틀릴 수 있고 이름을 안 볼 수 있고 화면을 안 볼 수 있고 확인을 건너뛸 수 있다. 다만 넷이 다 뚫리기는 어렵다.

앞의 것이 더 세다고 봤다. 구조로 갈리는 것은 틀리기 어렵고 사람이 확인하는 것은 건너뛸 수 있다. 구조로 막는 것을 먼저 두고 사람 확인은 마지막에 뒀다.

정리


Share this post on:

Previous Post
누르는 자리가 너무 작았다
Next Post
메시지 형식을 직접 정하기