"2025/01/03"에 해당되는 글 - 3건
Post
android 가로모드에서 세로로 변경
android 프로젝트를 키고 app폴더에서 AndroidManifest.xml 파일 열기
android 앱 아이콘 변경
하려고했는데...아어...나 바보같이 GRADLE 업그레이드했다ㅠㅠㅠ
아무튼
build.gradle에서 dependencies { classpath 를 변경해주니까 해결!!
gradle 다운 그레이드 쉽다!
아무튼 이제 진짜 아이콘 변경!!!
왼쪽창 Android 모드에서 app>>res>>폴더에 가면 mipmap-hdpi, mipmap-mdpi 등....
각각 화소에 맞는 아이콘이 있다. png 이미지를 원하는대로 바꿔주면 된다.
프로젝트 이름 변경
한글 글자 깨짐
cocos2dx는 한글 출력하는 것도 어렵다.
윈도우 빌드는 잘되었는데 앱 빌드 후 apk 실행 시 한글이 와장창 깨진다 ㅠㅠ
검색해보니 나처럼 한글 출력이 잘 안되는 경우가 많았다.
일단 좀 특이한 한글 폰트를 사용하고 있어서 네이버 나눔 고딕으로 변경해봤는데 안됨!!!
그 후 검색으로....
https://cafe.naver.com/cocos2dxusers/26663
char testString[30];
WideCharToMultiByte(CP_UTF8, 0, L"테스트 테스트", -1, testString , 30, NULL, NULL);
auto label = Label::createWithTTF(MyString, "fonts/fontname.ttf". 24);
를 하면된다고 했는데 android 앱 빌드시 에러.
illegal character encoding in string literal
아마 WideCharToMultiByte 이라는게 윈도우 함수여서 앱 빌드에서는 그게 안되는거 같다. 찾아보니까 android에서는 utf 관련 변환이 자동적으로 안된다고 하는것 같기도 하고...?
그렇게 더 찾아보다가
페이지 인코딩을 바꿔주라고 적혀 있었다.
https://m.blog.naver.com/raveneer/221755491661
그러고보니 예전에 한글 출력안되어서 페이지 인코딩 바꾸었는뎅...
새 프로젝트 만들어서 그런지 페이지 인코딩이 한국어다.
notepad로 cpp 한글 나오는 파일만 utf-8 bom으로 바꾸었다.(노가다ㅠ)
아무튼 그렇게 하고 빌드하니까 잘된다!!
android 앱 이름 변경
projectname\proj.android\app\res\values
폴더에서 strings.xml 을 연 다음에 프로젝트 이름을 변경해주면 된다.
'이전게시판 > cocos-2d' 카테고리의 다른 글
cocos2dx app keytool keystore 서명 (0) | 2025.01.04 |
---|---|
Cococs2dx build Failed (CMakeLists.txt 수정) (0) | 2025.01.03 |
Cocos2dx Change Scene 화면전환 예제 (0) | 2025.01.02 |
Cocos2d NULL 아니라 nullptr (0) | 2024.10.30 |
Cocos2dx 소멸자 CCLog 에러 (0) | 2024.10.30 |
Cocos2d Director::getInstance()->getVisibleSize(); (0) | 2024.10.07 |
cocos2d-x android 빌드방법 (0) | 2024.09.25 |
cocos2d-x apk 빌드 성공!!!!(+Failed to read key AndroidDebugKey from store 에러) (0) | 2024.02.29 |
Post
Cococs2dx build Failed (CMakeLists.txt 수정)
오랜만에 빌드했는데 에러가 났다
Build MyGame armeabi-v7a
externalNativeBuildDebug: Executable : C:\Users\user\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe
arguments :
--build
H:\CocosProject\project\proj.android\app\.externalNativeBuild\cmake\debug\armeabi-v7a
--target
MyGame
jvmArgs :
Executable : C:\Users\user\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe
arguments :
--build
H:\CocosProject\project\proj.android\app\.externalNativeBuild\cmake\debug\armeabi-v7a
--target
MyGame
jvmArgs :
:project:externalNativeBuildDebug (Thread[Task worker for ':',5,main]) completed. Took 3.45 secs.
FAILURE: Build failed with an exception.
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
BUILD FAILED in 4s
41 actionable tasks: 1 executed, 40 up-to-date
VCS Checkout Cache (proj.android\.gradle\vcsWorkingDirs) has not been cleaned up in 0 days
Error running command, return code: 1.
일단 블로그에서 안드로이드 세팅했던기억이 있어서 이거보구있음
https://m.blog.naver.com/karlose7/221484046370
그러다가 가장중요한거!!
프로젝트 폴더 바로 안에 CMakeLists.txt 파일
# add cross-platforms source files and header files
list(APPEND GAME_SOURCE
소스코드에 내가 만든 소스코드 전부 넣어줘야하는거 깜빡함!!
헤더 cpp 각자 소스 코드 이름 넣어줘야함
이 방법이 번거롭다면 재귀로 불러오는 방법이 있다고한다
https://blog.naver.com/njh0602/221507313152)
다음과 같은 형태로 사용하라고 하심
file (GLOB_RECURSE MY_SOURCES Classes/*.cpp)
file (GLOB_RECURSE MY_SOURCES Classes/*.h)
list(APPEND GAME_SOURCE ${MY_SOURCES})
list(APPEND GAME_HEADER $MY_HEADERS})
파일 많아지면 시도해보는걸로!!
H:\CocosProject\project\bin\debug\android 폴더 안에 apk 빌드 확인!
(그런데 안드로이드 서명은 어떻게 하는거지???? 나 android studio는 전혀 사용안하는데...옛날에 서명했던거 같은데 다 까먹었다 ㅠㅠ)
'이전게시판 > cocos-2d' 카테고리의 다른 글
cocos2dx app keytool keystore 서명 (0) | 2025.01.04 |
---|---|
cocos2dx android 한글 깨짐, 화면 세로로 변경, 앱 아이콘 변경, 앱 이름 변경 (0) | 2025.01.03 |
Cocos2dx Change Scene 화면전환 예제 (0) | 2025.01.02 |
Cocos2d NULL 아니라 nullptr (0) | 2024.10.30 |
Cocos2dx 소멸자 CCLog 에러 (0) | 2024.10.30 |
Cocos2d Director::getInstance()->getVisibleSize(); (0) | 2024.10.07 |
cocos2d-x android 빌드방법 (0) | 2024.09.25 |
cocos2d-x apk 빌드 성공!!!!(+Failed to read key AndroidDebugKey from store 에러) (0) | 2024.02.29 |
Post
onTouchBegan replaceScene 에러
아직도 정확한 에러 원인은 모르겠지만 기록.A, B 씬 이동을 왔다갔다 하는데 이 때 배경을 터치하면 다른 화면으로 이동한다.유독 B씬에서 A로 넘어갈때 크래시가 났다. 디버그가 안된다고 스택도 안뜨고..그러다가 간간히 아래와 처럼 떴다.
baseproject.exe![thunk]:GameScene::`vcall'{688,{flat}}' }'() C++
libcocos2d.dll!std::_Func_class<int,enum cocos2d::ui::Widget::FocusDirection,class cocos2d::ui::Widget *>::operator()(enum cocos2d::ui::Widget::FocusDirection,class cocos2d::ui::Widget *) C++
libcocos2d.dll!cocos2d::EventDispatcher::EventListenerVector::~EventListenerVector(void) C++
libcocos2d.dll!std::_Hash<class std::_Umap_traits<float,class std::vector<class cocos2d::Node *,class std::allocator<class cocos2d::Node *> >,class std::_Uhash_compare<float,struct std::hash<float>,struct std::equal_to<float> >,class std::allocator<struct std::pair<float const ,class std::vector<class cocos2d::Node *,class std::allocator<class cocos2d::Node *> > > >,0> >::_Range_eraser::_Bump_erased(void) C++
libcocos2d.dll!std::_Func_class<float,float>::operator()(float) C++
> libcocos2d.dll!cocos2d::EventDispatcher::dispatchTouchEventToListeners(class cocos2d::EventDispatcher::EventListenerVector *,class std::function<bool (class cocos2d::EventListener *)> const &) C++
libcocos2d.dll!cocos2d::EventDispatcher::dispatchTouchEvent(class cocos2d::EventTouch *) C++
libcocos2d.dll!cocos2d::EventDispatcher::dispatchEvent(class cocos2d::Event *) C++
libcocos2d.dll!cocos2d::GLView::handleTouchesBegin(int,int * const,float * const,float * const) C++
libcocos2d.dll!cocos2d::GLViewImpl::onGLFWMouseCallBack(struct GLFWwindow *,int,int,int) C++
libcocos2d.dll!cocos2d::GLFWEventHandler::onGLFWMouseCallBack(struct GLFWwindow *,int,int,int) C++
libcocos2d.dll!__glfwInputMouseClick() C
libcocos2d.dll!_glfwGetWin32Window() C
user32.dll!764215fb() 알 수 없음
[아래 프레임이 누락 및/또는 올바르지 않음, user32.dll에 대해 로드된 기호가 없음]
[외부 코드]
dispatchTouchEvent 라고 적혀 있으니까 터치 이벤트에 관한 건가 싶어서
씬 생성 부분을 빨리 만들어주기도 하고... 여러모로 해봤으나 실패.그냥 버튼으로 하자고 해서 했더니 에러가 없었다.아무곳에나 터치X 그냥 버튼으로 하는게 답인가 싶다.