2014-07-25 2 views
5

나는 Polymer를 사용하여 Chrome 앱을한데 모아 Android 플랫폼에 설치하고 싶습니다. 나는 성공적으로 컴파일, 여기에 나열된 단계를 다음과 SDK를 배포했습니다코카도 감소 Chrome App (cca) APK 크기

https://github.com/MobileChromeApps/mobile-chrome-apps

문제는, 내 크롬 응용 프로그램은 37K입니다이며, 컴파일 된 SDK는 37Mb입니다. 나는 또한 'Hello World'샘플을 컴파일하고 비슷한 파일 크기를 얻었다.

나는 약간의 오버 헤드가있을 것으로 예상했지만 놀랍도록 높았다. 아마도 cca 명령 줄이 필요한 플러그인을 모두 자동으로 가져 오기 때문에 가정합니다. 아마도 그 중 일부만 사용하고있을지라도 말입니다.

cca로 만든 앱에서 파일 크기를 줄이는 방법이 있습니까? 아니면 초기 개발자 미리보기 단계에있는 제한 사항입니까?

건배!

+1

앱에 기본 Cordova 스플래시 화면을 사용하고 계시나요? 상당히 큽니다. 모두 필요하지는 않습니다 (예 : 세로 및 가로 스플래시 화면 모두 필요) –

+0

'빌드 - release '- 아무것도 포함 시키거나 제외시키는 방법을 설명하는 문서를 찾지 못했습니다. 파일 시스템에서 찾아서 삭제하는 경우일까요? – bittenbytailfly

+1

당신은 이것이 3 이전 버전의 경우에 무엇이 었는지 알았습니다. 새로운 3.5.0 프로젝트를 확인했고 파일은 약 2MB 만 차지하므로 훨씬 더 최적화되었습니다. 참고로'your-project/platforms/android/res' 폴더와'your-project/platforms/ios/ProjectName/Resources' 폴더에는 모든 아이콘과 스플래시 화면을 찾을 수 있습니다. –

답변

4

Chrome 앱 (cca 도구 사용)의 크기가 크다는 것은 현재 Chrome/36을 기반으로하는 Crosswalk WebView이 자동으로 번들로 제공 되었기 때문입니다. (이것은 우리가 cordoda-android 4.0에 들어가기 위해 열심히 노력하고있는 접근법이기도합니다.

현재 우리는 인텔과 팔을 모두 지원하는 단일 apk를 제작합니다. 우리는 곧 빌드를 각 아키텍처별로 별도의 apk로 분할하여 apk 크기 오버 헤드를 절반으로 줄입니다. 우리는 가까운 장래에이 방법을 사용하여 약 18Mb의 오버 헤드가있을 것으로 예상합니다.

manifest.mobile.json"webview": "system"을 추가하고 프로젝트를 재구성하여 횡단 보도를 사용하지 않도록 설정할 수 있습니다 (but there may be a bug here at the moment, 문제 해결 방법 참조).

자세한 내용은 Release Notes에서 읽을 수 있지만이 방법에 대한 전체 FAQ를 작성하기 위해 백 로그가 있습니다.

최신 Android KitKat 4.4.3에서도 시스템 웹 뷰는 폴리 필을 사용하지 않고 폴리머 구성 요소를 실행하지 않습니다. 대부분의 폴리머 앱은 Crosswalk webview없이 개를 느리게 실행합니다 (크롬/36은 기본적으로 폴리머 구성 요소를 실행하는 첫 번째 버전이기 때문에).

희망 사항은 귀하의 선택 사항을 평가하는 데 도움이되며 잘하면 apk 크기를 최대한 줄일 수 있습니다. 행운을 빌어 요!

+0

OK 고마워요, 더 조사 할 시간을 절약 할 수 있습니다! 나는 그것을 고수 할 것입니다. Polymer는 정말 재미있는 플랫폼입니다. – bittenbytailfly

+1

@mmocny 이봐! 이제 빌드가 분할 되었습니까? ARM과 x86에 다른 ​​빌드를 제공하고 있습니까? 그리고 하나 더. Google은 다른 버전의 Android 기기 (4.1, 4.2, 4.4)에 대해 다른 APK를 업로드하는 서비스를 제공합니까? – InfinitePrime

+0

@SiddharthaRRamesh 예, apk를 아키텍처별로 기본 분할하여 크기 오버 헤드를 17MB로 줄였습니다. 여러 APK를 Play 스토어에 업로드 할 수 있지만 Android 버전 타겟을 맞춤 설정하려면 apk 버전 번호와 최소 SDK 버전 사양으로 게임을해야합니다. 우리는 기본적으로 당신을 위해 이것을하지 않습니다. – mmocny