레이블이 android인 게시물을 표시합니다. 모든 게시물 표시
레이블이 android인 게시물을 표시합니다. 모든 게시물 표시

2017년 1월 12일 목요일

phonegap으로 앱 개발 - 적용

* 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

2017년 1월 8일 일요일

phonegap으로 앱 개발 - 개발환경

* 개발환경

 - Node.js 설치 (www.nodejs.org) : node-v6.9.4-x64.msi
   위치 : C:\Program Files\nodejs\
   CLI 실행
 


    npm(Node Package Manager) 버전 확인


- 폰갭 설치
   npm install -g phonegap



 -코르도바 설치
  npm install -g cordova


 - 기준 디렉토리 : C:\Dev\


 - Java JDK 설치
   www.oracle.com 에서 다운로드 : jdk-8u121-windows-x64.exe
   C:\Dev\Java\jdk1.8.0_121\
   C:\Dev\Java\jre1.8.0_121


 - Apache ANT 설치
   http://ant.apache.org/ 다운로드 : apache-ant-1.10.1-bin.zip 압축풀고 rename
   C:\Dev\apache-ant\


 - Android SDK Tools 설치
   https://developer.android.com/studio/index.html
   안드로이드 스튜디오 출시로 [명령줄 도구만 다운로드]로 이동
   tools_r25.2.3-windows.zip 압축풀고 rename
   C:\Dev\android-sdk
   (C:\Dev\android-sdk\tools\) (최초 설치시 tools 디렉토리만 존재)


 - Android SDK Manager 설정
   C:\Dev\android-sdk\tools\android.bat 실행
   Tools : Android SDK Platform-tools, SDK Build-tools, API 설치
 

   (추후 빌드시 에러시 추가 설치해야 할 수 있음)
   (장시간 걸림)


 - 환경 변수 설정

   . 시스템 변수
     ANDROID_HOME => C:\Dev\android-sdk
     JAVA_HOME => C:\Dev\Java\jdk1.8.0_121

   . Path
     %JAVA_HOME%\bin
     %ANDROID_HOME%\tools
     %ANDROID_HOME%\platform-tools
     %ANDROID_HOME%\build-tools
     C:\Dev\apache-ant\bin
     (%JAVA_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools;C:\Dev\apache-ant\bin)

 - zipalign 설치
   C:\Dev\android-sdk\build-tools\25.0.2\zipalign.exe 복사
   C:\Dev\android-sdk\build-tools\에 붙여넣기