크롬의 확장이 동작하지 않으면? by 도아
크롬 확장
원래 크롬은 확장을 지원하지 않았다. 그러나 2.0 베타부터 확장을 지원하기 시작했다. 그래서 쓴 글이 크롬에서 Firefox처럼 확장 사용하기라는 글이다. 이 당시 크롬(Chrome)의 확장은 경로만 맞으면 동작했다. 그러나 크롬의 개발이 진행되면서 확장에 대한 규칙이 몇가지 바뀌었다.
목차
- 크롬 확장
- 서명 요구
- 폴더 아이디 변경
- page_actions.icon 변경
- 오동작 하는 확장의 변경
- 서명을 추가한 뒤 확장 생성
크롬 확장
원래 크롬은 확장을 지원하지 않았다. 그러나 2.0 베타부터 확장을 지원하기 시작했다. 그래서 쓴 글이 크롬에서 Firefox처럼 확장 사용하기라는 글이다. 이 당시 크롬(Chrome)의 확장은 경로만 맞으면 동작했다. 그러나 크롬의 개발이 진행되면서 확장에 대한 규칙이 몇가지 바뀌었다. 바뀐 부분은 다음과 같다.
- 서명 요구
예전에 만들어진 크롬 확장은 확장에 필요한 파일을 단순히 ZIP 파일로 압축한 뒤 확장자만 CRX로 바꾸면 동작했다. 그러나 최근에는 반드시 서명을 하도록 바뀌었다. 따라서 크롬에서 사용할 수 있는 모든 확장에서 소개한 확장은 모두 동작하지 않는다. - 폴더 아이디 변경
예전에는 JSON 파일의 ID를 이용해서 폴더를 만들었지만 지금은 JSON 파일의 ID가 아니라 설치할 때 폴더 ID를 만들어 확장을 설치한다. 따라서 이전의 방법으로 JSON 파일의 ID를 참조해서 폴더를 만들어도 동작하지 않는다. - page_actions.icon 변경
page_actions.icon
의 이름을page_actions.icons
로 변경했다. 따라서 page_actions.icon을 사용하는 모든 확장은 다음과 같은 오류 메시지를 내며 동작하지 않는다.
이 문제를 해결하는 방법은 간단하다. 일단 page_actions.icon
을 사용하는 확장은 manifest.json
을 편집하면 된다. 또 서명을 요구하는 확장은 서명을 추가해서 사용하면 된다. 이 글에서는 델리셔스 확장 0.2를 예로 사용해서 설명하도록 하겠다.
오동작 하는 확장의 변경
- chrome-delicious-extension-0.2.crx에 마우스 오른쪽 단추를 클릭한 뒤 다른 이름으로 저장을 클릭한다. 델리셔스 확장은 현재 0.4까지 올라와 있지만 0.3 이상의 판은 주소 표시줄에 아이콘을 만드는 것이 아니라 상태 표시줄에 나타나기 때문에 지금까지 0.2판을 사용하고 있다.
chrome-delicious-extension-0.2.crx
라는 파일 이름을chrome-delicious-extension-0.2.zip
으로 바꾼 뒤 임의의 폴더(예:E:\Down\Imsi\Extension\Delicious
)에 압축을 풀어둔다.풀어둔 압축 파일 중
manifest.json
파일을 불러온 뒤page_actions
배열의icon
을icons
로 바꾼 뒤 저장한다.**변경전** "page_actions": [ { "id": "TagPageAction", "name": "The TagPageAction for Delicious", "icon": "tagUp24.png", "tooltip": "Click to tag the page with Delicious", "type": "tab" } ] **변경후** "page_actions": [ { "id": "TagPageAction", "name": "The TagPageAction for Delicious", "icons": "tagUp24.png", "tooltip": "Click to tag the page with Delicious", "type": "tab" } ]
서명을 추가한 뒤 확장 생성
서명이 없는 확장이나 파일로만 가지고 있는 확장은 크롬 확장을 직접 패키징해서 사용하면 된다. 절차는 다름과 같다.
- 현재 실행 중인 모든 크롬을 끝낸다. 크롬을 실행하고 있으면 크롬 창만 활성화되므로 작업 관리자로 떠있는 크롬이 있는지 확인한 뒤 실행해야 한다.
명령행에서 다음과 같은 형식의 명령을 실행한다.
<크롬 설치 폴더>\chrome.exe --pack-extension=<확장을 저장한 폴더> 예: c:\Users\artech\AppData\Local\Google\Chrome\Application\chrome.exe --pack-extension=e:\down\Imsi\Extension\Delicious
- 다음 그림과 같은 창이 나타나면 확인 단추를 클릭한다. 그림을 보면 알 수 있지만 확장(CRX)과 서명(PEM)이 만들어 진 것을 알 수 있다. 이제 이 확장을 크롬에 끌어 놓아 확장을 설치할 수 있다.