* Node.js 실행
- Node.js command prompt
* 프로젝트 생성
C:\Users\wsol>md project
C:\Users\wsol>cd project
C:\Users\wsol\project>phonegap create app2
Using detached cordova-create
Creating a new cordova project.
...
C:\Users\wsol\project>
* Andorid Platform 추가
C:\Users\wsol\project>cd app2
C:\Users\wsol\project>app2>cordova platform add android
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms\android
Package: com.phonegap.helloworld
Name: Hello_World
Activity: MainActivity
Android target: android-24
Subproject Path: CordovaLib
Android project created with cordova-android@6.0.0
...
ANDROID_HOME=C:\Dev\android-sdk
JAVA_HOME=C:\Dev\Java\jdk1.8.0_112
Subproject Path: CordovaLib
...
(오래 걸림)
>> 에러 대처
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> You have not accepted the license agreements of the following SDK components:
[Android SDK Platform 24].
...
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
==> Android Manager (C:\Dev\android-sdk\tools\android.bat) 실행시켜서 메시지 내용에 나오는 것을 추가
- 에러시 app2 폴더 삭제 후 다시 진행
...
BUILD SUCCESSFUL
Total time: 2.661 secs
...
* 개발 내용 적용
- www 디렉토리에 개발 내용 모두 복사
- index.html에 폰캡 및 기기 설정
- 이미지 작업
app2\platforms\android\res
app2\res\
app2\www\res\icon\
app2\www\res\screen\
* config.xml 수정 (app2\config.xml)
- utf-8 변환
- 아이디 설정, 버전 설정 : <widget id="kr.behappyone.app2" version="1.0.1"
- <name> <description> <author 수정
- SplashScreen 추가
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" /> (3초 : 3000ms 지연효과)
* 안드로이드 네이티브앱 빌드
- C:\Users\wsol\project\app2>phonegap build android
[phonegap] executing 'cordova build android ' ...
[phonegap] completed 'cordova build android --no-telemetry'
==> app2\platforms\android\build\outputs\apk\android-debug.apk 생성됨
- C:\Users\wsol\project\app2>cordova build android --release
ANDROID_HOME=C:\Dev\android-sdk
JAVA_HOME=C:\Dev\Java\jdk1.8.0_112
...
BUILD SUCCESSFUL
Total time: 17.576 secs
Built the following apk(s):
C:/Users/wsol/project/app2/platforms/android/build/outputs/apk/android-release-unsigned.apk
- 키 생성 (키는 반드시 한번만 생성해야 함)
C:\Users\wsol\project\app2>keytool -genkey -v -keystore release.keystore -alias
app2behappyonekr -keyalg RSA -keysize 2048 -validity 100000
키 저장소 비밀번호 입력:
새 비밀번호 다시 입력:
이름과 성을 입력하십시오.
[Unknown]: test
조직 단위 이름을 입력하십시오.
[Unknown]: test
조직 이름을 입력하십시오.
[Unknown]: test
구/군/시 이름을 입력하십시오?
[Unknown]: Seoul
시/도 이름을 입력하십시오.
[Unknown]: Seoul
이 조직의 두 자리 국가 코드를 입력하십시오.
[Unknown]: ko
CN=test, OU=test, O=test, L=Seoul, ST=Seoul, C=ko이(가) 맞습니까?
[아니오]:예
다음에 대해 유효 기간이 100,000일인 2,048비트 RSA 키 쌍 및 자체 서명된 인증서(SH
A256withRSA)를 생성하는 중
: CN=test, OU=test, O=test, L=Seoul, ST=Seoul, C=ko
<app2behappyonekr>에 대한 키 비밀번호를 입력하십시오.
(키 저장소 비밀번호와 동일한 경우 Enter 키를 누름):
[release.keystore을(를) 저장하는 중]
- android-release-unsigned.apk 파일 app2 폴더에 복사 후 파일명 변경 : app2behappyonekr.apk
- 서명
C:\Users\wsol\project\app2>jarsigner -tsa http://timestamp.digicert.com -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release.keystore app2behappyonekr.apk app2behappyonekr
Enter Passphrase for keystore:
updating: META-INF/MANIFEST.MF
adding: META-INF/APP2BEHA.SF
...
signing: res/xml/config.xml
signing: resources.arsc
jar signed.
- 압축 및 정렬
C:\Users\wsol\project\app2>zipalign -v 4 app2behappyonekr.apk app2behappyonekr_final.apk
Verifying alignment of app2behappyonekr_final.apk (4)...
50 META-INF/MANIFEST.MF (OK - compressed)
...
6868335 res/xml/config.xml (OK - compressed)
6871072 resources.arsc (OK)
Verification succesful
* Test : app2behappyonekr_final.apk
* Deployment : app2behappyonekr_final.apk
댓글 없음:
댓글 쓰기