2025년 9월 23일 카카오 사태가 벌어졌다. 나는 다행히 앱스토어 설정에 들어가서 자동업데이트를 비활성해서 이번 사태를 잠깐 피해갈 수 있었다. 하지만 유튜브를 보다보니까 이번에 업데이트를 이미 한 사람들에게 나의 프로필이 까발려 진다는 것을 알게되었다. 내 친구한테 알려지는 건 좋은데 카카오톡은 내가 전혀 모르는 사람이나 싫은 사람, 업무적인 사람들 연락처에 있는 모든 사람이나 전화 번호가 변경되서 모르는 사람들도 친구 목록에 표시가 된다. 그런 모든 사람들에게 내 사생활을 강제로 공개되도록 해버렸다는 거에 공포를 느꼈다. 프로필 탭으로 이동해서 내 프로필에서 오른쪽 상단에 설정 버튼이 있고 그걸 클릭하면 프로필 설정들이 있고 거기서 옵션들을 비활성 해주자 “프로필 인증배지 표시”, “내 프로필 검색”, “내 홈 표시” 모두 비활성 해줬다. 솔직히 앞으로 이번 사태 이전으로 롤백을 시키지 않는한 앞으로 프로필에 사진을 올릴거 같지 않다. 이미 앱은 배포가 되었고 이 사태가 벌어진 버전의 앱을 업데이트 하지 않고 사용하는 사람들이 많을것이다. (보통은 앱을 배포 하고 강제로 업데이트 유도하지 않는 이상 앱을 업데이트 하지 않는 사람들이 많다.) 만약에 더 프로필 공개에 공포를 느낀다면 프로필에 올린 이미지들을 당장 지우자. *추가* 숏폼과 오픈채팅을 합쳐놓은 것도 참 거지같은 짓을 한거라고 생각한다. 오픈채팅에 개발이나 다이어트나 여러가지 같은 관심을 가진 사람들이 단체 톡방에 들어가서 커뮤니티를 하고 계실거다. 나도 개발 단체톡방에 들어가서 대화를 하는데 왜 그걸 합쳐놔서 오픈채팅을 들어가기 위해서 무조건 숏폼을 강제로 봐야 한다는 건 참 별로다. *추가 2* 벌서 온갖 야시시 하고 폭력적인 숏폼에 노출되고 있...
안드로이드스튜디오 ndk 개발 설정 (MAC 에서)
- 추가 (2015년 8월 7일) gradle 1.1.3 버전에서는 아래 링크와 같은 에러가 발생할 수 있으니 참조
Android Studio 1.3.0 NDK 에러 (useDeprecatedNdk 에러)
* 추가 (2015년 3월 7일) gradle 1.1.0 버전에서는 에러가 발생할 수 있으니 진행하시고 아래 링크도 참조해주세요
안드로이드 스튜디오 1.1.0 업데이트 + NDK
맥 OS 와 gradle 1.0.0 버전에서 테스트하고 작성했습니다.
참고한 사이트는 아래와 같습니다.
- 안드로이드 개발자 사이트 NDK 에서 라이브러리 다운로드
- bin 파일을 별도의 폴더에 위치 시켜놓는다
- bin 파일의 내용물을 푼다
bin 파일이 위치한 경로로 이동해서, 아래처럼 순서대로 입력한다 (파일명은 수정 필요)
ndk$ chmod a+x android-ndk-r10c-darwin-x86_64.bin
ndk$ ./android-ndk-r10c-darwin-x86_64.bin
- 안드로이드 스튜디오로 새로운 프로젝트 생성
- local.properties 에 ndk 경로를 추가
ndk.dir=/Users/juyoungkim/AndroidProject/ndk/android-ndk-r10d
- build.gradle 안의 defaultConfig 안에 아래 코드 삽입
- 모듈 이름은 각각 맞게 수정해주자
ndk {
moduleName "mbcore"
}
sourceSets.main{
jni.srcDirs = []
jniLibs.srcDir 'src/main/libs'
}
task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
def ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
commandLine "$ndkDir/ndk-build",
'-C', file('src/main/jni').absolutePath,
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
}
task cleanNative(type: Exec, description: 'Clean JNI object files') {
def ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
commandLine "$ndkDir/ndk-build",
'-C', file('src/main/jni').absolutePath,
'clean'
}
clean.dependsOn 'cleanNative'
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn buildNative
}
- 소스의 src/main 디렉토리 안에 jni 폴더와 libs 폴더 생성하고 clean → 빌드
- 그러면 안드로이드 스튜디오 소스 상에 jniLibs 폴더가 자동으로 생성됨
- jni 폴더에 .c / .h 파일과 Android.mk / Application.mk 파일 생성 (아니면 다른 샘플 ndk 소스에서 구해서 붙여넣기 해도 됨), 아래 샘플처럼 수정
- LOCAL_MODULE 와 LOCAL_SRC_FILES 는 상황에 맞게 수정
Android.mk 파일 내부
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mbcore
LOCAL_SRC_FILES := mbcore.c
include $(BUILD_SHARED_LIBRARY)
Application.mk 파일 내부
APP_ABI := all
- 위와 같이 Android.mk 파일과 Application.mk 폴더 내부를 수정 한다.
- 클린을 하고 Run을 하면
- jniLibs 폴더 하위에 각 cpu 버전별 폴더가 생성되고
- 각 폴더 내부에 so 파일과 (모듈이름 앞에 lib가 붙는다, libmbcore.so) gdb.setup, gdbserver 파일이 정상적으로 생성되고
- 테스트 소스에서 정상동작하면 성공 !!!
- 위 라이브러리를 다른 앱의 라이브러리 넣는 것은 다음에 !!
에휴 힘들었내요 장장 4일을 고생해서 겨우 정상적됬내요 ㅠㅠ