应用程序在升级到Gradle 3后消失

时间:2018-05-17 15:51:55

标签: android android-gradle google-play android-launcher

我将我的Android应用程序的新版本推送到beta测试人员的游戏商店。测试人员能够更新/安装新版本,但之后应用程序不会显示在设备上的任何位置。 Play商店也只有卸载选项(而大多数应用程序都有“打开”选项)。

此推送包括将应用程序升级到Gradle 3,因此我假设问题可能与此有关。

很抱歉,如果在我找不到任何类似帖子之前已经询问过这个问题。 谢谢你的帮助!

这是我的一些Gradle(* ed out私人信息):

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 :(得分:1)

检查您的清单中至少有一项活动(通常是您的主要活动)是否具有正确的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"/>

类别LAUNCHER

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

如果使用类别发布者在您的清单中没有活动,该应用将不会显示在启动器中。