서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

안녕하세요.. 드디어 글을 쓸 수 있게 되었네요 ^^.

요즘 한창 NDK와 안드로이드 미디어 프레임워크 쪽을 공부하고 있는 초보청년개발자입니다.


먼저 질문하기에 앞서 안드로이드의 모든 것 NDK 저자 두분께 감사의 말씀을 드립니다~

정말 많은 공부가 되고 있습니다 ㅎ


질문드릴께요~


책 내용중에서 PDK를 이용한 네이티브 AudioFlinger 제어 예제를 테스트 중입니다.


PDK소스로 최신 젤리빈 4.2.2_r1을 사용하다보니 AudioTrack 함수들 중 인자타입이나 갯수가 변경되어

그에 맞게 audioflinger_wrapper.cpp 부분을 조금 수정 하였습니다.


문제는 build/envsetup.sh 적용하고 mm 명령어로 컴파일 해서 apk파일 만들고

adb install 명령어로 apk파일을 제 넥서스7에 설치해보려고 하니


Failure [INSTALL_FAILED_DEXOPT] 에러가 뜨면서 설치가 되질 않고..


최초 설치 후 한번 더 설치를 해보려고 하면


Failure [INSTALL_FAILED_UID_CHANGED] 에러가 뜨네요..



apk파일을 만들 때 문제가 있는 것 같습니다.ㅠㅠ.


혹시나 해서 안드로이드 기본 프로젝트를 두개를 생성해서 테스트 해보았습니다.

하나는 이클립스에서 apk 생성

다른 하나는 android.mk 파일과 mm 명령어를 통해 apk 생성


두가지 apk로 adb install로 기기에 설치 시도를 해보았는데

이클립스에서 생성한 apk 파일만 성공적으로 설치되고

android.mk 파일과 mm 명령어로 생상한 apk 파일은 위와 같은 에러가 계속 뜹니다. ㅠㅠ


아직 지식이 해박하지 못하여 제가 놓친 부분이 있을 수도 있을 것 같네요 ^^:;


조언 부탁드리겠습니다~~!



참고용 로그 첨부해 보겠습니다

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.2.2

TARGET_PRODUCT=full

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-2.6.38-16-generic-x86_64-with-Ubuntu-11.04-natty

HOST_BUILD_TYPE=release

BUILD_ID=JDQ39

OUT_DIR=out

============================================

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/Effect_Tick.ogg:system/media/audio/ui/Effect_Tick.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressStandard.ogg:system/media/audio/ui/KeypressStandard.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressSpacebar.ogg:system/media/audio/ui/KeypressSpacebar.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressDelete.ogg:system/media/audio/ui/KeypressDelete.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressReturn.ogg:system/media/audio/ui/KeypressReturn.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/VideoRecord.ogg:system/media/audio/ui/VideoRecord.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/camera_click.ogg:system/media/audio/ui/camera_click.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/LowBattery.ogg:system/media/audio/ui/LowBattery.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/Dock.ogg:system/media/audio/ui/Dock.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Sceptrum.ogg:system/media/audio/ringtones/Sceptrum.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressStandard_120.ogg:system/media/audio/ui/KeypressStandard.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressSpacebar_120.ogg:system/media/audio/ui/KeypressSpacebar.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressDelete_120.ogg:system/media/audio/ui/KeypressDelete.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/effects/ogg/KeypressReturn_120.ogg:system/media/audio/ui/KeypressReturn.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/notifications/ogg/Capella.ogg:system/media/audio/notifications/Capella.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/notifications/ogg/CetiAlpha.ogg:system/media/audio/notifications/CetiAlpha.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/notifications/ogg/Polaris.ogg:system/media/audio/notifications/Polaris.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/notifications/ogg/Pollux.ogg:system/media/audio/notifications/Pollux.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/notifications/ogg/Procyon.ogg:system/media/audio/notifications/Procyon.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Aquila.ogg:system/media/audio/ringtones/Aquila.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/ArgoNavis.ogg:system/media/audio/ringtones/ArgoNavis.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Carina.ogg:system/media/audio/ringtones/Carina.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Centaurus.ogg:system/media/audio/ringtones/Centaurus.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Cygnus.ogg:system/media/audio/ringtones/Cygnus.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Draco.ogg:system/media/audio/ringtones/Draco.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Machina.ogg:system/media/audio/ringtones/Machina.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Orion.ogg:system/media/audio/ringtones/Orion.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Pegasus.ogg:system/media/audio/ringtones/Pegasus.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Pyxis.ogg:system/media/audio/ringtones/Pyxis.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Rigel.ogg:system/media/audio/ringtones/Rigel.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Scarabaeus.ogg:system/media/audio/ringtones/Scarabaeus.ogg ignored.

PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Solarium.ogg:system/media/audio/ringtones/Solarium.ogg ignored.

make: Entering directory `/root/Android-JellyBean'

target R.java/Manifest.java: NativeBasic2 (out/target/common/obj/APPS/NativeBasic2_intermediates/src/R.stamp)

Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.

target Java: NativeBasic2 (out/target/common/obj/APPS/NativeBasic2_intermediates/classes)

Copying: out/target/common/obj/APPS/NativeBasic2_intermediates/classes-jarjar.jar

Copying: out/target/common/obj/APPS/NativeBasic2_intermediates/emma_out/lib/classes-jarjar.jar

Copying: out/target/common/obj/APPS/NativeBasic2_intermediates/classes.jar

Copying: out/target/common/obj/APPS/NativeBasic2_intermediates/noproguard.classes.jar

target Dex: NativeBasic2

Copying: out/target/common/obj/APPS/NativeBasic2_intermediates/noproguard.classes.dex

target Package: NativeBasic2 (out/target/product/generic/obj/APPS/NativeBasic2_intermediates/package.apk)

Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.

 'out/target/common/obj/APPS/NativeBasic2_intermediates/classes.dex' as 'classes.dex'...

Processing target/product/generic/obj/APPS/NativeBasic2_intermediates/package.apk

Done!

Install: out/target/product/generic/system/app/NativeBasic2.odex

Install: out/target/product/generic/system/app/NativeBasic2.apk

make: Leaving directory `/root/Android-JellyBean'



고도리

2013.03.05 11:06:42
*.200.239.210

허걱....4.2.2r1 이라니요...ㅠ.ㅠ


일단 저도 장비가 4.2.1 까지 밖에 없어서(JB-MR1.1) 거기서 먼저 테스트 해 본 후에야 말씀 드릴 수 있겠네요...쩝

김바람

2013.03.05 12:14:14
*.118.69.52

고도리님~ 자답하겠습니다 ^^:;ㅎ

APK 만들기 위한 Android.mk 소스에


LOCAL_DEX_PREOPT := false 이부분을 추가 시켜주면

apk파일이 .odex와 .apk로 분리 생성되는게 아니라 하나의 .apk 파일로 생성되고

adb install 로 설치해보니 잘 설치되네요^^v.... 

근데 이젠 샘플.wav 파일재생 해보니

스피커에서 이상한 소리가 나네요;;; 소스랑 또 씨름을 해봐야 ㅠㅠ...


고도리님 늦은 시간에 답변 감사드립니다~ㅎㅎ

책 항상 감사하게 읽고 공부하고 있습니다^^

전호철

2013.03.05 20:31:34
*.162.60.10

새로 생긴 옵션인가보네요. 아니면 기본옵션이 바꼈나봐요.

옛날에는 저 옵션 없이도 잘 됐었거든요.

좋은 정보 감사합니다~

김바람

2013.03.07 03:41:02
*.118.69.52

아 그렇군요 ^^
생각보다 금방 해결해서 다행이예요 ㅋ

고도리

2013.03.06 09:28:17
*.111.12.170

소리가 이상하다면......


wrapper 파일에서 set() 함수에서 세팅하는 부분이 바뀌었을 가능성이 높습니다.

제가 삼일정도 외부에 나가 있어야 해서 테스트는 못하고(강의 및 회의), 일단 pdk에서 테스트 한 후에 소스 올려놓도록 하겠습니다.

김바람

2013.03.07 03:41:35
*.118.69.52

바쁘신 와중에도 테스트를 해주신다니 ㅠㅠ 감사합니다 ㅎ

List of Articles
번호 제목 글쓴이 날짜 조회 수
83 ffmpeg HOPLAY [3] 네이쳐 2013-12-01 4792
82 안드로이드의 모든 것NDK (고현철,전호철 지음) 책 실습 중 문제에... [1] 어떤이의꿈 2013-10-02 5398
81 init: sys_prop: unable to stop service ctl [DVBService] ... [2] 제임스59 2013-09-22 5480
80 NDK 책내용중에 3.11 외부 라이브러리 활용하기 에서 질문 드립니... file [5] 엽스 2013-08-30 5590
79 ndk 38페이지 질문_repo file [1] 제임스59 2013-08-28 12060
78 여러 분들이 말씀하신 것처럼 책(NDK)의 예제코드를 올려주실 수 없... [2] 트론 2013-08-24 5255
77 surfaceflinger에서 화면을 dump뜨는 메카니즘에 대해서... 김바람 2013-08-19 5134
76 안드로이드 4.2 프레임버퍼 접근 질문드려요~! [6] 범내 2013-07-30 5947
75 [압축된 07-TestSkia 예제파일 올려주세요] [1] 밥줘잉 2013-05-23 5664
74 MediaServer 에 관련해서 질문드려요 [10] 김바람 2013-03-27 6580
73 3rd party app에서 프레임워크 수정된 걸 적용시키려면 어떻게 해야... [3] 김바람 2013-03-17 4838
72 [예제12.SDL] Android 에서 SDL 사용하는 예제 실행 안됨 문의... [7] 둘리 2013-03-12 5609
71 PDK를 이용하여 안드로이드 프레임워크 so파일 참조에 관해서 질문있... [7] 김바람 2013-03-07 26815
» 예제를 따라하던 중 Android.mk 파일로 APK파일 생성 후 설치시 ... [6] 김바람 2013-03-05 12338
69 네이티브 스레드로 자바 콜백 만들기 질문드립니다. [2] 조재영 2013-02-14 5661
68 GPIO 컨트롤 하기 예제 중 insmod에 관하여 문의드립니다. [2] 미누유희 2013-02-13 5126
67 OpenGL 책p168 예제 질문드립니다. Android홀릭 2013-02-06 5413
66 카메라로부터 프래임 데이터 추출하는 예제 입니다. file [1] 죽유 2013-01-24 5383
65 NDK를 이용한 camera 제어 예제에 대해 문의 드립니다. [7] 죽유 2013-01-11 8050
64 NEON관련 좋은 참고 문서가 있을까요? [7] 죽유 2013-01-10 5392

사용자 로그인