android - 使用 Android Studio 生成未签名、发布的 apk

标签 android android-studio build android-gradle-plugin apk

我需要生成一个未签名的 release APK(然后其他人将对其进行签名并将其发布到商店 - 其他人处理 key 和其他一切)。我的问题是,每当我尝试构建时,Android Studio 都会抛出错误:

app-flavorUnsigned-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.

我已经尝试了几种以前的方法:

  • 创建 Artifact 失败(在任何地方都找不到任何带有“Artifact ”的菜单,尽管在编辑配置时我找到了选择自定义 Artifact 的选项)[可能是最好的选择]
  • 创建一个空的签名配置
  • 创建自定义 flavor
  • 使用终端运行 gradle assemblegradle assembleRelease(由于我的一个重要模块库试图构建而失败)

这是我当前的 [app's] build.gradle:

apply plugin: 'com.android.application'

android {
    signingConfigs {
        unsigned {
            storePassword = ""
            keyAlias = ""
            keyPassword = ""
        }
    }
    compileSdkVersion 19
    buildToolsVersion "20.0.0"
    defaultConfig {
        applicationId "hiddenForClientPrivacy"
        minSdkVersion 13
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.unsigned
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.unsigned
        }
        unsignedBuild {
            debuggable false
            versionNameSuffix '-unsigned'
            signingConfig signingConfigs.unsigned
        }
        debug {

        }
    }
    productFlavors {
        flavorUnsigned {
            versionCode = 1;
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile project(':SlidingMenu')
    compile 'com.android.support:support-v13:20.0.0'
    compile 'com.github.castorflex.verticalviewpager:library:19.0.1'
}

感谢您的任何帮助。

帮助后编辑: 正如标记的已接受答案所示,我必须清除发布 block 。此外,我点击了“运行”按钮——它应该适本地显示一个错误,因为我无法在模拟器或设备上运行未签名的发布 apk。接受的答案描述了一切。

最佳答案

release 构建类型中,根本不指定 signingConfig,您的构建将不会被签名。发布版本不会选择调试版本获得的默认签名配置,因此它应该适用于那些。

有一个 discussion关于它的 adt-dev 邮件列表。

请记住,要从 Android Studio 构建,您需要转到 Gradle 任务窗口并选择 assembleRelease 任务;通过“Make Project”进行的正常构建实际上并不构建最终的 APK。

关于android - 使用 Android Studio 生成未签名、发布的 apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27321979/

相关文章:

javascript - 如何强制 Android 互联网浏览器立即显示样式更改

android - Android Studio 缓慢的 gradle 构建和高磁盘使用率的任何解决方案?

build-process - 特定于目标的变量作为 Makefile 中的先决条件

ruby-on-rails - 在Rails中,如何建立具有范围的has_many关联

java - java.lang.NoSuchMethodError : No virtual method fetchProvidersForEmail(Ljava/lang/String;)Lcom/google/android/gms/tasks/Task; mean? 是什么意思

Java Retrofit 多请求单响应

更新到预览版 6 后的 Android Studio 2 问题

android - Android Studio 中的 Twilio 示例

java - 避免使用 ant 并通过 eclipse 自动构建。这可能吗?

android - 自动检测链接抖动