[안드로이드 공부]/안드로이드 스튜디오

[안드로이드 스튜디오] 패키지명 변경시 에러 발생 주의

코코모아 2015. 9. 8. 19:19

아래는 코모스튜디오가 직접 만든 무료 앱이에요
(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

안드로이드 스튜디오에서 패키지명 변경을 하다가, 갑자기 manifest에 빨간불이 들어 올 수도 있다.

기본적으로 패키지명 변경은 좌측 메뉴의 Package 또는 mafifest에서 com.comostudio.xxx를 블럭한 뒤 refactor 하면 된다.


하지만, 일반 소스에서 찾아서 변경하기를 할 경우 갑자기 아래와 같은 에러를 만나게 되니 주의 바람.


uri is not registered (settings project settings schemas and dtds)


attri android:icon not allowed here


인터넷 검색을 아무리 해봐도 setting에서


위와 같이 추가 해주란 말 밖에 찾을 수 없다... 

분명히 잘 되던 소스였는데 갑자기 매니페스트에 대부분이 빨간 불이라면 저 문제가 다가 아닌 것이다.

물론 저 코드를 넣어 주면 


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.comostudio.XXXX"


위 빨간 불은 꺼진다. 


하지만, attri android:icon not allowed here 에러는 잡히지 않는다. icon 뿐만 아니라 대부분의 속성 값을 사용 할 수 없게 된다.


원인을 찾기 위해 소스 전체를 지우고 처음 부터 하나 하나 작업을 수차례 진행하다가, 처음 언급했던 부분에서 답을 찾게 되었다. replace all 을 하자 마자 위 에러가 쏟아졌다. 


문제는 이클립스와 같은 환경의 소스를 안드로이드 스튜디오로 마이그레이션 하면서 발생하는 것 같다. 즉, 안드로이드 스튜디오로 옮기게 되면 app/src/main/java/com/경로로 소스가 복사되는데, root디렉토리에 있던 src, res등의 폴더는 삭제되지 않고 남아 있었기 때문이다.


결국, 아무도 모르게 두 가지의 소스를 가지고 다니다가 특정 부분을 수정 했는데.... 프로젝트 전체에 알 수없는 영향을 미치게 되는 것이다. 마이그레이션 후에는 root에 있는 폴더는 지우고, 왠만하면 " " 속에 들어 있는 글자들은 직접 하나씩 보면서 변경하도록 하자.


고생을 손 발이 하면 머리가 나쁘다.


아래는 코모의 새로운 앱이에요(19/07/01출시)

일상 카운터 - 기록, 계수기, 일기


모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.