Приложение исчезает после обновления до Gradle 3 - PullRequest
0 голосов
/ 17 мая 2018

Я выпустил новую версию своего приложения для Android в игровой магазин для бета-тестеров. Тестировщики могут обновить / установить новую версию, но после этого приложение нигде не отображается на устройстве. В магазине Play также есть только опция «Удалить» (в то время как в большинстве приложений есть опция «Открыть»).

Этот шаг включает в себя обновление приложения до Gradle 3, поэтому я предполагаю, что проблема может относиться к этому.

Извините, если это было задано раньше, я не мог найти подобные сообщения. Спасибо за любую помощь!

Вот некоторые из моих Gradle (* исключил личную информацию):

def bbBuildNumber = "4";
if (project.hasProperty('BUDDYBUILD_BUILD_NUMBER')) {
    bbBuildNumber = project.properties['BUDDYBUILD_BUILD_NUMBER'];
}

android {
    signingConfigs {
        prodConfig {
            keyAlias '**** development'
            keyPassword '****'
            storeFile file('*******')
            storePassword '****'
        }
        devconfig {
            keyAlias 'key1'
            keyPassword '****'
            storeFile file('*******')
            storePassword '****'
        }
    }
    compileSdkVersion 26
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId '*******'
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 341
        versionName "1.9"
        testInstrumentationRunner "*******"
        buildConfigField "String", "BUILD_NUMBER", "\"${bbBuildNumber}\""
        multiDexEnabled true
    }
    dataBinding {
        enabled = true
    }
    buildTypes {
        debug {
            debuggable true
            buildConfigField "String", "BUILD_NUMBER", "\"${bbBuildNumber}\""
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
    dexOptions {
        javaMaxHeapSize "4g" //specify the heap size for the dex process
        preDexLibraries = false //delete the already predexed libraries
    }
    lintOptions {
        abortOnError true
        ignoreWarnings false
        lintConfig file('../config/lint.xml')
    }
    //flavorDimensions "dev", "prod"
    flavorDimensions "prod"
    productFlavors {
//        devConfig {
//            minSdkVersion 16
//            applicationId '*******'
//            targetSdkVersion 26
//            testInstrumentationRunner '******'
//            versionCode 341
//            versionName '1.9'
//            dimension "dev"
//            vectorDrawables.useSupportLibrary = true
//            javaCompileOptions {
//                annotationProcessorOptions {
//                    includeCompileClasspath false
//                }
//            }
//        }
        prodConfig {
            minSdkVersion 16
            applicationId '*********'
            targetSdkVersion 26
            testInstrumentationRunner '******'
            versionCode 341
            versionName '1.9'
            signingConfig signingConfigs.prodConfig
            dimension "prod"
            vectorDrawables.useSupportLibrary = true
            javaCompileOptions {
                annotationProcessorOptions {
                    includeCompileClasspath false
                }
            }
        }
    }
}

Вот манифест:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="*******">
    <application
        android:name=".dagger.******"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/****">
        <activity
            android:noHistory="true"
            android:name="****.android.ui.splash.SplashActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>

                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="app" android:host="****.com" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.*.android.ui.MainActivity"
            android:screenOrientation="portrait">

        </activity>
        <activity
            android:name="com.*.android.ui.TabbedActivity"
            android:screenOrientation="portrait">
        </activity>
        <activity
            android:name="com.*.android.ui.forgot.ForgotPasswordActivity"
            android:label="@string/title_forgot_password"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.MainActivity">
        </activity>
        <activity
            android:name="com.*.android.ui.support.SupportActivity"
            android:label="@string/title_support"
            android:screenOrientation="portrait">
        </activity>
        <activity
            android:name="com.*.android.ui.forgot.ForgotUsernameActivity"
            android:label="@string/title_forgot_username"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.MainActivity">
        </activity>
        <activity
            android:name="com.*.android.ui.transfer.DoTransferActivity"
            android:screenOrientation="portrait"
            android:label="@string/card_transfer_title"
            android:parentActivityName=".ui.TabbedActivity">
        </activity>
        <activity
            android:name="com.*.android.ui.transfer.bank.BankTransferActivity"
            android:screenOrientation="portrait"
            android:label="@string/bank_transfer_title"
            android:parentActivityName=".ui.TabbedActivity">
        </activity>
        <activity
            android:name="com.*.android.ui.transfer.destination.DestinationPickerActivity"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden">
        </activity>

        <activity
            android:name="com.*.android.ui.transfer.amount.AmountPickerActivity"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateVisible">
        </activity>

        <activity
            android:name="com.*.android.ui.transfer.confirm.ConfirmationActivity"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.*.android.ui.transfer.result.ResultActivity"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.*.android.ui.settings.notifications.NotificationsActivity"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.*.android.ui.settings.timestamp.TimestampPickerActivity"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.*.android.ui.settings.document.DocumentsActivity"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.*.android.ui.settings.accounts.BankAccountsActivity"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.TabbedActivity"
            android:label="@string/bank_accounts_title">
        </activity>

        <activity
            android:name="com.*.android.ui.settings.accounts.EditBankAccountActivity"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.TabbedActivity"
            android:label="@string/edit_account_title">
        </activity>

        <activity
            android:name="com.*.android.ui.profile.ProfileWebview"
            android:screenOrientation="portrait">
        </activity>

        <activity
            android:name="com.*.android.ui.settings.accounts.AddBankActivity"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.TabbedActivity"
            android:label="@string/add_account_title">
        </activity>

        <activity android:name="com.*.android.ui.settings.accounts.CurrencyExchangeActivity"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.TabbedActivity"
            android:label="@string/currency_exchange_title">
        </activity>

        <activity android:name="com.*.android.ui.transfer.cashpickup.CashPickupActivity"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.TabbedActivity"
            android:label="@string/cash_pickup_title">
        </activity>

        <activity android:name="com.*.android.ui.history.CashPickupDetailsActivity"
            android:screenOrientation="portrait"
            android:parentActivityName=".ui.TabbedActivity"
            android:label="History"
            ></activity>

        <meta-data
            android:name="io.fabric.ApiKey"
            android:value="********" />
    </application>

    <uses-permission
        android:name="android.permission.USE_FINGERPRINT"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
</manifest>

1 Ответ

0 голосов
/ 17 мая 2018

Проверьте в своем манифесте, имеет ли хотя бы одно действие (обычно основное занятие) правильное значение intent-filter следующим образом:

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

Ваше основное действие должно объявить действие MAIN

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

и ЗАПУСК категории

<category android:name="android.intent.category.LAUNCHER"/>

Если в вашем Манифесте нет активности с ЗАПУСЦОМ категории , приложение будетне показываться в лаунчере.

...