Ti.Media.showCamera를 tishadow에서 썼을 때 겪는 에러

Ti.Media.showCamera를 이용해서 카메라 기능을 앱에 더했습니다.

그런데 iOS에서는 문제가 없는데 안드로이드에서는 에러가 나더군요.

Unable to find explicit activity class {*****/ti.modules.titanium.media.TiCameraActivity}; have you declared this activity in your AndroidManifest.xml?

검색을 해보니까, tishadow의 버그인듯 싶네요. https://github.com/dbankier/TiShadow/issues/440

build 폴더의 AndroidManifest.xml를 보니, 그냥 빌드한 것과, appify로 필드한게 다르더군요.
그래서 tiapp.xml에 그 차이를 적어주니 해결되었습니다.
(위 링크에 답변도 달아주었구요. 뿌듯하네요~)

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest>
        <application>
                    <activity android:name="ti.modules.titanium.media.TiCameraActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@style/Theme.AppCompat.Translucent.NoTitleBar.Fullscreen"/>
        </application>
        <uses-permission android:name="android.permission.CAMERA"/>
    </manifest>
</android>
1개의 좋아요

해당 Activity가 포함이 안되는군요. showCamera를 tishadow를 includes.js에 포함하도록 아래 파일을 수정해야겠네요.
혹시 openPhotoGallery도 비슷한 문제가 있을까요?

1개의 좋아요

빌드 스크립트를 생각하긴 했는데 저런 구조였군요.

역시 yomybaby님!!