1/01/2014

ODROID Android Build 시 문제사항 및 해결

1. ODROID에서 개발환경설정 

  • Download
Odroid의 사이트의 BSP소스 에서  Download

  • Ubuntu 12.02 개발환경설정 
  https://ahyuo79.blogspot.com/2013/12/android-build-environment2.html


FOR HDMI OUT SEETING.
  http://dn.odroid.com/Android_Beta_1.6/resolution_set/

ODROID- U-BOOT 와 Kernel BUILD  설명 SITE
  http://dev.odroid.com/projects/ics/#s-6.4

ODROID-ANDROID BUILD
   http://dev.odroid.com/projects/howtobuild4

2.1 How To build UBOOT 

ODROID Uboot Build 및 문제사항 정리 

$ cd u-boot-odroid-v2010.12 
$ make distclean 
$ make smdk4412_config
$ make CROSS_COMPILE=arm-none-eabi-

  • Uboot Build 에러사항 및 해결방법
   {standard input}:85: Error: unknown pseudo-op: `.arch_extension'
   {standard input}:168: Error: unknown pseudo-op: `.arch_extension'
해결방법.
$ vi board/samsung/smdk4212/smc.c 
       ## .arch_extension 주석처리 

참고자료
  http://com.odroid.com/sigong/nf_board/nboard_view.php?brd_id=odroidq2&kind=&bid=3628


2.2 How To build Linux KERNEL 

ODROID Kernel Build 및 문제사항 정리 

  • Kernel Build 후 mkimage 사용을 위해 설치
$ sudo apt-get install uboot-mkimage 


$ cd kerenl_4412

$ make ARCH=arm odroidx2_android_sdmmc_defconfig   //====> ODROID-X2 (SD Boot)
or
$ make ARCH=arm odroidx2_android_emmc_defconfig   //====> ODROID-X2 (eMMC Boot)

$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-


Ref. uboot, kernel,flash images.
  http://dev.odroid.com/projects/ics/#s-6.4


3. Android Build 

ODROID에서는 별도의 Shell Script을 지원을 해주고 있어서 아래와 같이 실행하며 Build가 정상적으로 동작이 된다.


== odroid - X2 ==
$ cd android
$ vi device/hardkernel/odroidx2/BoardConfig.mk
     BOARD_USES_EMMC = true -> Use eMMC
     BOARD_USES_EMMC = false -> Use SD Card
$ chmod u+x ./build_android.sh
$ ./build_android.sh odroidx2 

Ref.
  http://dev.odroid.com/projects/howtobuild4


3.1 odroid recommend

odroid에서 JDK version 문제 에러 발생시, 우선 package index update 후

$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ jaunty multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ jaunty-updates multiverse"
$ sudo apt-get update
$ sudo vi /etc/apt/sources.list


3.2  Android Build 중 문제사항 정리 

빌드 중 JDK문제로 인하여  여러 JDK를 설치 했으며, 이를 변경하며 테스트

  • Android Build 에러사항-1
make: *** [out/target/common/obj/APPS/Calculator_intermediates/classes-full-debug.jar] 오류 41
Android Build 해결방법-1
Open JDK 삭제 후 Sun사 JDK 설치후  JAR 설정 변경

$ sudo update-alternatives --config jar
*2번으로 변경

대체 항목 jar에 대해 (/usr/bin/jar 제공) 2개 선택이 있습니다.

  선택       경로                           우선순  상태
------------------------------------------------------------
* 0            /usr/bin/fastjar                  100       자동 모드
  1            /usr/bin/fastjar                  100       수동 모드
  2            /usr/lib/jvm/java-6-sun/bin/jar   63        수동 모드

  • Android Build 에러사항-2
상위와 같이 변경했지만, 해결되지 않고 아래의 다른 에러원인을 분석.
classpath에  문제발생하여 odroid를 보니 path가 나와 다르기에 이를 변경.

bad class file: android/app/Activity.class(android/app:Activity.class)

unable to access file: corrupted zip file

Please remove or make sure it appears in the correct subdirectory of the classpath.

import android.app.Activity;
Android Build 해결방법-2
$ mkdir ~/mydroid
$ cp -a android ~/mydroid/


Ref.
  http://blog.daum.net/cortex/269
  http://codewalkerster.blogspot.kr/2011/11/android-openjdk-vs-sun-jdk-build.html


  • Android Build 에러사항-3
/bin/bash: xsltproc: 명령어를 찾을 수 없음

Android Build 해결방법-3
$ sudo apt-get install xsltproc