使用Android Studio生成unsigned,release apk

Jaw*_*wad 19 android build apk android-studio android-gradle-plugin

我需要生成一个未签名的发布 APK(然后其他人将签名并将其发布到商店 - 其他人处理密钥和其他所有内容).我的问题是每当我尝试构建时,Android Studio都会抛出错误:

app-flavorUnsigned-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.
Run Code Online (Sandbox Code Playgroud)

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

  • 创建工件失败(无法在任何地方找到任何带有"工件"的菜单,但是对于编辑配置,我找到了选择自定义工件的选项)[ 可能是最好的选择 ]
  • 创建一个空的签名配置
  • 创建自定义风味
  • 使用终端运行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'
}
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.

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

Sco*_*rta 23

release构建类型中,根本不指定signingConfig,并且不会对您的构建进行签名.发布版本不会选择调试版本获取的默认签名配置,因此它应该适用于那些.

关于它的adt-dev邮件列表有一个讨论.

请记住,要从Android Studio构建,您需要转到Gradle任务窗口并选择assembleRelease任务; 通过"Make Project"进行正常构建并不会真正构建最终的APK.

  • 制作项目实际上并没有构建APK,这是非常烦人的,我知道.您可以转到Gradle任务窗口并选择`assembleRelease`,也可以从命令行构建. (3认同)

Pat*_*oom 12

实际上你可以通过构建它来构建一个未签名的.APK:

要生成它,在Android Studio的左侧,有一个Build Variants菜单(可能是垂直写入).点击它.

出现了Build Variants窗口选项卡,单击debug并按发布更改它.

重建项目应用程序>构建>重建项目.

然后单击"运行",出现一个新窗口,单击"运行">"仍然继续">选择要运行的设备>确定.

该应用程序将无法在您的设备上运行,但.apk的发布版本将生成与调试版本相同的目录:

  • C:\ ANDROID_PROJECT_DIRECTORY \应用\建立\输出\ APK \

您可以注意到该名称是app-release-unsigned.apk,这正是我们想要的.

有关本教程网站的更多信息.

  • 将调试更改为发布步骤后,可以将后面的步骤简化为`Build`->`Build APK`,您将在该目录中获得未签名的apk。 (3认同)
  • 不起作用,除非设置了密钥,否则它不会让我运行 (3认同)