[SVELTEKIT] capacitor 사용하여 안드로이드 앱 만들기
이미 스벨트로 만들어 놓은 코드가 있어서, 굳이 플러터 flutter를 사용하지 않고 기존 코드를 이용하여 앱을 만들어 보고 싶었다. 처음 앱으로 빌드할 때 좀 느렸지만 이후엔 빠르게 빌드가 됬다.
오래 사용해보지 않아 얼마나 좋은지 나쁜지는 잘 모르겠지만 가벼운앱을 만들땐 괜찮을 않을까 싶다.
1. 기존에 있던 프로젝트에 capacitor 설치하기
npm install @capacitor/core @capacitor/cli
2. capacitor init 하기
capacitor를 init할때 스벨트킷의 빌드할 폴더는 build이기 때문에 기본값 www대신 build로 적어 준다..
(혹시라도 init 때 www로 설정해놓더라도 capacitor.config.ts의 webDir에서 나중에 바꿀 수 있으니 걱정할 필요 없다.)
npx cap init
3. 안드로이드나 IOS 플랫폼 설치
npm i @capacitor/ios @capacitor/android
npx cap add android //안드로이드 추가
npx cap add ios //ios 추가
4. 싱글페이지 빌드용 어뎁터 설치하기
npm i -D @sveltejs/adapter-static
https://github.com/sveltejs/kit/tree/master/packages/adapter-static
5. 싱글페이지로 빌드하기 위해 svelte.config에 아래와 같은 코드를 넣어준다.
import adapter from '@sveltejs/adapter-static';
아래 코드를 보듯 기존 import adapter from '@sveltejs/adapter-auto'; 를 대체하였다.
// import adapter from '@sveltejs/adapter-auto';
import adapter from '@sveltejs/adapter-static';
import preprocess from 'svelte-preprocess';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://github.com/sveltejs/svelte-preprocess
// for more information about preprocessors
preprocess: preprocess(),
kit: {
adapter: adapter(
{fallback: 'index.html'}
)
}
};
export default config;
6. routes/+layout.js 파일 만들고
export const prerender = true
7. 스벨트 빌드하기
npm run build
8.실행시키기
//안드로이드 스튜디오에서 실행
npx cap open android
//실기기 실행
npx cap run android
-----------------------------------------------------
라이브 리로드
1. capacitor.config.ts의 내용을 아래로 대체함
import { CapacitorConfig } from '@capacitor/cli';
const appId = '앱.아이.디';
const appName = '앱이름';
const server = process.argv.includes('-hmr') ? {
'url': 'http://192.168.5.67:5173', // always have http:// in url
'cleartext': true
} : {};
console.log(server);
const webDir = 'build';
const config: CapacitorConfig = {
appId,
appName,
webDir,
server
};
if (process.argv.includes('-hmr')) console.log('WARNING: running capacitor with livereload config', config);
export default config;
2. svelte를 디버깅 모드로 실행
npm run dev -- --host //호스트를 넣어서 아이피를 오픈해줘야함
3. 실기기에서 실행
cmd창을 하나 더 열고 아래의 명령어를 입력함
npx cap run android
참조
https://capacitorjs.com/docs/cli
'Computer 관심 > Svelte' 카테고리의 다른 글
웹프레임웍 추천 (vue.js, reactjs, futterweb, sveltejs) (0) | 2022.05.11 |
---|---|
sveltekit firebase 로그인/로그아웃 만들기 (0) | 2022.05.08 |
스벨트 로그인 비동기 문제 (0) | 2022.02.10 |
스벨트 파이어베이스 로그인 하기 (0) | 2021.11.11 |
sveltekit에서 프린팅 하는 노하우 (scoped css) (0) | 2021.10.15 |