2014년 10월 29일 수요일

Linux 에서 CMD 를 이용하여 APK 만들기

Linux 에서 CMD 를 이용하여 APK 만들기
   
  1. 참고 사이트
    1. http://i5on9i.egloos.com/4840338 [컴][핸드폰]핸드폰 app 만들기 1/2 - 안드로이드 SDK
    2. http://i5on9i.egloos.com/4840337 [컴][핸드폰]핸드폰 app 만들기 2/2 - 안드로이드 SDK
       
         
  2. 프로젝트 생성
    1. activityCreate 어쩌고 저쩌고 - 오류
    2. 다음과 같이 수정됨.
    3. http://fightingms.tistory.com/archive/201001
    4. android create project --target 4 --name Now --path /path/to/my/project --activity Now --package com.commonsware.android
       
      Mine
    5. android create project --target 6 --name HelloWorld --path ./HelloWorld --activity HelloWorld --package kr.co.cubicwave.test.helloworld
      1. 참고 : cmd> android list targets
결과id: 6 or "Google Inc.:Google APIs:7"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
   
  1. 프로젝트 빌드
    1. Cmd> cd HelloWorld
    2. Cmd> ant
      ...
      BUILD SUCCESSFUL
      Total time: 0 seconds
       
         
    -------
대략 순서
  1. R.java 생성
  2. Compile *.java
  3. 달빅용으로 변환하기
  4. Package 만들기
  5. Sign
   
   
  1. R.java 생성하기
    1. Cmd> /opt/android-sdk/platforms/android-7/tools/aapt package -m -J src -M AndroidManifest.xml -S res -I "/opt/android-sdk/platforms/android-7/android.jar"
    2. Cmd > ls -l src/kr/co/cubicwave/test/helloworld/R.java
         
  2. Compile *.java
    1. Cmd> javac -d bin/classes -classpath bin/classes -bootclasspath "/opt/android-sdk/platforms/android-7/android.jar" src/kr/co/cubicwave/test/helloworld/R.java
    2. Cmd> javac -d bin/classes -classpath bin/classes -bootclasspath "opt/android-sdk/platforms/android-7/android.jar" src/kr/co/cubicwave/test/helloworld/HelloWorld.java
         
  3. 달빅용으로 변환하기
    1. Cmd> /opt/android-sdk/platforms/android-7/tools/dx --dex --output="./bin/classes.dex" --positions=lines "./bin/classes"
         
  4. Package 만들기
    1. Cmd> /opt/android-sdk/platforms/android-7/tools/aapt package -f -M AndroidManifest.xml -S res -I "/opt/android-sdk/platforms/android-7/android.jar" -F bin/Hello.apk
    2. Cmd> /opt/android-sdk/platforms/android-7/tools/aapt list bin/Hello.apk
결과res/layout/main.xml
AndroidManifest.xml
resources.arsc
res/drawable-hdpi/icon.png

res/drawable-ldpi/icon.png
res/drawable-mdpi/icon.png
   
  1. Sign
    1. Cmd> apkbuilder bin/Hello-debug.apk -z bin/Hello.apk -f bin/classes.dex -rf ./src -rj ./libs
결과Using keystore: /home/cbwdevelop/.android/debug.keystore
  1. Cmd> /opt/android-sdk/platforms/android-7/tools/aapt list bin/Hello-debug.apk
결과res/layout/main.xml
AndroidManifest.xml
resources.arsc
res/drawable-hdpi/icon.png

res/drawable-ldpi/icon.png
res/drawable-mdpi/icon.png
classes.dex
META-INF/MANIFEST.MF
META-INF/CERT.SF
META-INF/CERT.RSA
  1. Emulator Launch
    1. Cmd> emulator -avd [avd_name] 

댓글 없음:

댓글 쓰기