1

TV 및 모바일 용 범용 Android 앱을 만들 수 있나요? 다른 주요 활동, 테마, 스타일 등이 다른가요?모바일 및 TV 용 (로리팝)

I 시도 Mainfest 파일에 활동을 추가 :

<application 
     ... > 
    <!-- Mobile --> 
    <activity 
     ...> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

    </activity> 

    <!-- TV --> 
    <activity 
     ... 
     android:theme="@style/Theme.Leanback"> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> 
     </intent-filter> 

    </activity> 
</application> 

그러나 나는 2 "android.intent.action.MAIN"활동이 어차피 이해를?

Android Studio에서 새 프로젝트를 시작하고 모바일 및 TV를 지원되는 "폼 팩터"로 선택하면이라는 두 개의 개별 모듈이 포함 된 프로젝트를 만듭니다. 실제로이 두 개의 별도 앱입니다. 맞습니까? 그러나 저는 그들 사이에서 90 %의 코드를 공유하고 싶습니다. 어떻게해야합니까?

미리 감사드립니다.

+0

"하지만 이해할 수있는 것처럼 나는 2 개 있습니다."android.intent.action.MAIN "activities?" - 일반적으로 할 수 있습니다. 원한다면 1,000 개를 가질 수 있습니다. Google지도로 간주되는 앱에는지도, 스트리트 뷰, 내비게이션 등 세 가지가 있습니다. 확실히 [Android TV 및 휴대 기기에서 작동하는 단일 앱] (https://github.com/commonsguy/cw-omnibus/tree/master/Presentation/Decktastic)을 만들 수 있습니다. 귀하의 경우, 하나의 IDE 코드 용 파일 템플리트 세트가 두 개의 모듈을 생성합니다. 이것이 유일한 해결책이라는 것을 의미하지는 않습니다. – CommonsWare

+0

필자의 경우, 모든 폼 팩터에 대해 하나의 런처 활동을 사용했으며 Play 스토어를 통해 앱을 배포하지 않았습니다. – CommonsWare

+0

@CommonsWare 좋아, 내 질문에 2 .MAIN 활동이 있다고 가정 해 봅시다. Android TV (Lollipop)에서 앱 아이콘을 누르면 어떤 활동이 시작될 것이라고 생각하십니까? 나는 당신이 "android.intent.category.LEANBACK_LAUNCHER"라고 생각 하겠지만, NO! 처음에는 "android.intent.action.MAIN"이 나타납니다! 왜? – oleynikd

답변

1

프로젝트 용 라이브러리와 같이 새 모듈을 만든 다음 각 gradle 내부로 가져올 수 있으며 두 모듈간에 공통 코드를 공유 할 수 있습니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 이것이 제가 생각한 것입니다. 그러나 이것이 제가 .apk를 만드는 데 어떻게 도움이 될 수 있습니까? 모바일 및 TV 용 모듈이 2 개인 경우 2 개의 별도 .apk 파일이 필요합니다. – oleynikd

+0

Android Studio에서 출시하기 위해 빌드 할 때 정확히 알지 못합니다. 2 개의 분리 된 apk를 생성하거나 하나의 apk로 패키징합니다 (Android Wear App를 작성하는 경우 AndroidWear에서는 출시 apk에서 2 개의 apk를 하나로 포장합니다). 그리고 라이브러리에서 공통 코드, 레이아웃 및 기타 정보를 내보내는 경우 각 모듈에 깨끗하고 유지 보수가 가능하며 모듈화되고 반복적 인 코드를 만들 수 있습니다. – f3rn4nd000

+0

나는 그것을 시도 할 것이다. 고맙습니다! – oleynikd

관련 문제