-1

I have a same base code for android tv and android mobile. I have a app which is live and support for android mobile. In same base code I have implemented the code for android TV.

Now my question is that how can I upload apk with same package name for android TV??

May be its duplication question [https://stackoverflow.com/questions/34392781/multiple-apk-support-for-android-tv-and-phone] but the answer provided is not matching with current play store developer console menu.

How can I upload different apk with same package name for mobile and TV. One apk manifest file contains required imformation of Android TV and another manifest contains required information for Android mobile

Below is my Android TV menifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <supports-screens android:smallScreens="false"
        android:normalScreens="false"
        android:largeScreens="true"
        android:xlargeScreens="true"/>
    <uses-feature
        android:name="android.software.leanback"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
        tools:ignore="LeanbackUsesWifi" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <!-- Needed only if your app looks for Bluetooth devices.
             If your app doesn't use Bluetooth scan results to derive physical
             location information, you can strongly assert that your app
             doesn't derive physical location. -->
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
    <!-- Needed only if your app makes the device discoverable to Bluetooth
      devices. -->
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <!-- Needed only if your app communicates with already-paired Bluetooth
           devices. -->
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <!--bibo01 : hardware option-->
    <uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
    <uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/>


    <queries>
        <package android:name="com.montrealgreektv.app.player" />
    </queries>

    <application
        android:name=".application.App"
        android:allowBackup="true"
        android:banner="@mipmap/ic_banner"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MontrealGreek"
        android:usesCleartextTraffic="true"
        tools:ignore="GoogleAppIndexingWarning"
        tools:targetApi="31">
        <activity
            android:name=".tv.TvPlayerActivity"
            android:exported="false" />
        <activity
            android:name=".tv.TvMainActivity"
            android:exported="false" />
        <activity
            android:name=".tv.TvSplashActivity"
            android:exported="false"
            android:screenOrientation="landscape">

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


            <!-- <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> -->
            <!-- </intent-filter> -->
        </activity>
        <activity
            android:name=".news.NewsActivity"
            android:exported="false"
            android:label="@string/title_activity_news"
            android:theme="@style/Theme.MontrealGreek.NoActionBar" />
        <activity
            android:name=".radio.RadioPlayerActivity"
            android:exported="false" />
        <activity
            android:name=".player.PlayerActivity"
            android:exported="true"
            android:launchMode="singleTask"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
        <activity
            android:name=".home.MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="montrealgreektv" />
            </intent-filter>
        </activity>
        <activity
            android:name=".home.SplashActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".radio.DeviceListDialogFragment"
            android:exported="false"
            android:screenOrientation="portrait"/>

        <meta-data
            android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
            android:value="com.montrealgreektv.app.player.CastOptionsProvider" />

        <service android:name=".service.MyService" />

        <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" />
    </application>

</manifest>

How can I do this in current developer account??

Shailesh Kumar
  • 393
  • 5
  • 20
  • You can't, there is only one Google Play Store. If you want to have one package name you have to develope a single app that contains both the regular and the TV app. – Robert Sep 02 '23 at 17:49

0 Answers0