web-dev-qa-db-ja.com

署名なしの生成、Android Studio

署名なしのrelease 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.

以前の方法をいくつか試しました:

  • アーティファクトの作成に失敗しました(「アーティファクト」を含むメニューはどこにも見つかりませんが、構成を編集するためにカスタムアーティファクトを選択するオプションが見つかりました)[おそらく最善の策]
  • 空の署名設定を作成する
  • カスタムフレーバーを作成する
  • 端末を使用してgradle assembleまたはgradle assembleReleaseを実行します(これらは、重要なモジュールライブラリの1つがビルドされているために失敗します)

これが私の現在の[アプリ] 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'
}

助けてくれてありがとう。

ヘルプ後の編集:マークされた承認済みの回答が示すように、リリースブロックをクリアする必要がありました。さらに、「実行」ボタンをクリックしていました。エミュレーターまたはデバイスで未署名のリリースAPKを実行できないため、適切にエラーが表示されます。受け入れられた答えはすべてを説明します。

21
Jawad

releaseビルドタイプでは、signingConfigをまったく指定しないでください。ビルドは署名されません。リリースビルドは、デバッグビルドが取得するデフォルトの署名設定を取得しないため、これらの設定で機能するはずです。

それについて discussion がadt-devメーリングリストにあります。

Android Studioからビルドするには、Gradleタスクウィンドウに移動してassembleReleaseタスクを選択する必要があります。「プロジェクトの作成」による通常のビルドでは、実際に最終的なAPKをビルドします。

24
Scott Barta

実際には、ビルドするだけで、署名なしの.APKをビルドできます。

これを生成するには、Android Studioの左側に、Build Variantsメニューがあります(おそらくvertically)。それをクリックします。

[バリアントの作成]ウィンドウのタブが表示されたら、debugをクリックして、release

プロジェクトアプリケーションを再ビルドします>ビルド>プロジェクトの再ビルド

次に、実行をクリックします。新しいウィンドウが表示されます。をクリックします>続行します>実行するデバイスを選択します> OK

アプリケーションはデバイスで動作しませんが、.apkのリリースビルドバージョンは、デバッグディレクトリと同じディレクトリに生成されます。

  • C:\ Android_PROJECT_DIRECTORY\app\build\outputs\apk \

名前はapp-release-unsigned.apkであり、まさに私たちが望んでいたものであることに注意してください。

この詳細情報 チュートリアルWebサイト

14
Patapoom

私は同じことをしなければならず(アプリ署名は別の場所で処理されるため)、プロジェクトを再構築しました。

nsigned release apkを生成するには、Build Variantsメニューでリリースバージョンを選択します。

注:トップメニューのアプリ構成に赤い十字が表示される場合がありますが、無視してください。

プロジェクトアプリケーションを再ビルドしますビルド>プロジェクトの再ビルド

App-release-unsigned.apkは次の場所にあります。

  • 〜\ app\build\outputs\apk\release \

注:他のバージョンを作成する必要がある場合は、生成されたapkを保存してください。後続の再構築によって現在のapkが上書きされるためです(...は私と同じではありません)。

0
GraSim