Android工作室 - 发布APK for flavor

use*_*994 6 android gradle apk

我是Android Studio的新手,在设备上运行调试版本工作正常,但是在应用程序购买测试(显然要发布)我需要使用普通密钥签名的发布版本.我可以使用Build - > Generate signed APK制作APK,但是包名似乎不正确.这是我的构建文件:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 9

        testPackageName "com.company.common.common"
        testInstrumentationRunner "android.common.InstrumentationTestRunner"
    }

    signingConfigs {
        releaseConfig {
            storeFile file("filname")
            storePassword "password"
            keyAlias "alias"
            keyPassword "password"
        }
    }

    buildTypes {
        debug {
            packageNameSuffix ".debug"
        }
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.releaseConfig
        }
    }

    productFlavors {
        Flavor1 {
            packageName "com.company.test"
        }
    }
}

dependencies {
    // some dependencies
}
Run Code Online (Sandbox Code Playgroud)

请注意在flavor中重写的包名称.那味道没有明显; 唯一的清单是在main下,并指定一个com.company.common包.如果我使用Android创建com.company.test APK并将其安装在设备上,然后从Android Studio生成APK并安装它,我最终会在设备上安装两个应用程序而不是第二个替换第一个应用程序.这表明包名称不同,我假设因为Android Studio正在生成一个带有com.company.common包的APK.不知道怎么验证这一点.

当我刚刚构建项目时,我得到一个调试APK但没有发布APK.如何获得具有正确包名的发布APK?我刚从Android Studio运行应用程序,它说它正在安装com.company.test.debug,并且需要在安装之前卸载应用程序.所以现在我认为生成签名的APK使用调试包生成了一个构建.

到目前为止,这是阻止我转向Android Studio和gradle的问题.一旦我通过这个,我想我很清楚将所有事情都移到一边所以我希望有人可以帮助我解决这个问题!

Sco*_*rta 7

在选择Generate Signed APK选项之前,请进入Build Variants窗口并选择Release build variant.在生成签名APK命令采取任何当前构建类型选择,并有迹象了.在这种情况下,这显然不是你想要的; 错误https://code.google.com/p/android/issues/detail?id=56532正在请求改进.