Android Studioで未署名のAPKファイルを作成する


272

Androidデベロッパーツールを使用してAndroidアプリを開発しています。新しいAndroid Studioを試してみましたが、スマートフォンをPCに接続し、Android Studioで直接プログラムを実行すれば、すべて正常に動作します。しかし、今は他のスマートフォンをPCに接続せずにプログラムをテストしたいと思います。

ADTは、プログラムをコンパイルするたびに "projectname / bin"の下に.apkファイルを作成します。現在のところ、Android Studioはそれを行っていません。

だから私の質問は、Android Studioで署名されていない.apkファイルを作成することは可能ですか?


10
技術的には、デバッグキーで署名されたapkが必要です。実際に署名されていないapkは、デバイスによって拒否されます。
Chris Stratton 2013年

参考までに、@ Nirmal Dharaが回答した署名付きアプリを常にエクスポートすることをお勧めします。これははるかに安全です。
ムクンド

2
@ChrisStratton常に拒否されますか?
Sreekanth Karumanaghat

私はこのソリューションで解決します:stackoverflow.com/a/56201481/8471798
canerkaseler

回答:


326

Gradleを使用してAPKファイルを作成することをお勧めします。

  • 上部のツールバーのドロップダウンメニューをクリックします([実行/デバッグ構成の編集]ダイアログを開きます)。
  • 「構成の編集」を選択します
  • 「+」をクリックします
  • 「ゆりかご」を選択
  • モジュールをGradleプロジェクトとして選択する
  • タスク:入力 assemble
  • プレス実行

未署名のAPKは次の場所にあります

ProjectName\app\build\outputs\apk

Gradleの使用方法の詳細については、このチュートリアルをお勧めします:Android StudioでGradleを使用してビルドする。Gradleを使用して署名のないAPKを作成する方法についてのブログ投稿も執筆しました。

プロジェクトを他のIDEから移動し、再コンパイルしたくない場合は、移動元のIDEですでにビルドされているAPKファイルが見つかる可能性があります。

  • Android Studioでプロジェクトを生成した場合、APKファイルは次の場所にあります ProjectName/ProjectName/build/apk/...

  • Eclipseからプロジェクトをインポートしました:ファイルは同じディレクトリにある必要があります。Project-に移動しShow in Explorerます。APKファイルが置かれているbinフォルダーが見つかります。

  • IntelliJからインポートされた場所は ProjectName/out/production/...

補足: Chris Strattonがコメントで述べたように:

技術的には、デバッグキーで署名されたAPKが必要です。実際に署名されていないAPKは、デバイスによって拒否されます。


1
はい、Eclipseからプロジェクトをインポートしました。しかし、私の場合、binフォルダーはAndroid Studioによって変更されません。少し検索して、自分で見つけました。私の場合、.apkは「projectname / out / production / projectname /」にありました
klange 2013年

これは、IntelliJから切り替えた場合にのみ必要です
bpoiss

9
Studioでプロジェクトを直接生成していますが、プロジェクトのどのフォルダーにも「bin」という名前のフォルダーはありません。そして、「build」フォルダには「res」と「source」という2つのフォルダしかなく、「bin」フォルダはありません。今何か提案してもらえますか?
Himanshu Aggarwal 2013年

25
Click the dropdown menu in the toolbar at the topこれはとても一般的です。どんなドロップダウンメニュー?どのツールバー?
2017年

3
@dthreeトップメニューバーの[実行]をクリックし、ドロップダウンから[構成の編集]を選択できます
Gema Megantara

226

Gradleを使用して署名されていないAPKビルドするによると、gradleを使用してアプリケーションを簡単にビルドできます。それを行うには:

  1. 上部のツールバーのドロップダウンメニューをクリックします(通常、Androidアイコンとアプリケーションの名前が付いています)
  2. 選択する Edit configurations
  3. 左上隅のプラス記号をクリックするか、 alt+insert
  4. 選択する Gradle
  5. あなたのモジュールを選択してください Gradle project
  6. Tasks:入力します。assemble
  7. 押す OK
  8. プレスプレイ

その後、ディレクトリに署名されていない「apk」が見つかります ProjectName\app\build\outputs\apk


1
+ android {lintOptions {checkReleaseBuilds false abortOnError false} [....]}を使用してbuild.gradleを編集すると、動作します!ありがとう
Steffi 2015

marcinに感謝します...機能しました..気づいたことの1つは、Android Studioで "outputs / apk"フォルダーが見つからなかったことです。これは、ファイルシステムにのみ表示されました..
Govind

ルートプロジェクト「bin」にタスク「assemble」が見つかりません。
nVentimiglia

2票目。これが正解です。プロジェクトインポートを使用したAndroidスタジオのクリーンインストールでこの問題が発生しました。ビルドからAPKファイルを取得するには、この手動設定を実行する必要があります。
rickfoosusa 2015

1.5.1で動作しますが、単一のモジュールが選択されている場合でも、実際にはプロジェクト全体のAPKをビルドします。
sandrstar

94

最も簡単な方法だと思います:

  • 右側のGradleタブを開きます
  • YourProject /:app / assemble(または、assembleDebug)をダブルクリックします。
  • ここにapkが見つかります
    ... / YourProject / app / build / outputs / apk / app-debug.apk

スクリーンショット


1
おかげで、受け入れられた回答よりもはるかに簡単で、実行ごとにapkを作成できないようになりました
Irhala

42

BUILD-> Build APKに行くだけで完了です


8
+1。とてもシンプルな方法です。ところで、生成されたAPKは次の場所にありますAndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk
Spikatrix

とてもシンプルです。ありがとうございました。うまくいきました。感謝します。
Zeyad

23

ステップ1 android studioを開きます。ビルド->署名済みAPKを生成… 次に、「署名付きAPKの生成」をクリックします。

ここに画像の説明を入力してください

ステップ2

ここに画像の説明を入力してください

[新規作成]をクリックします。

ステップ3

詳細を入力して、[OK]をクリックします。 ここに画像の説明を入力してください

jksキーの詳細。前のウィンドウに戻ります。

ここに画像の説明を入力してください

[次へ]をクリックし、キーに保存したパスワードを入力します。

ステップ4

ここに画像の説明を入力してください

ここで[完了]をクリックし、構築プロセスが完了するまで待ちます。

ここに画像の説明を入力してください

これでapkが正常に生成されました。エクスプローラで表示をクリックします。

ここに画像の説明を入力してください

詳細が必要な場合は、ライブデモにアクセスして確認してくださいhttp://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs


3
質問は、署名されていないapkを要求します
ravelinx


14

はい、Android Studioで未署名の.apkを作成することは可能です!

あなたのパッケージエクスプローラまたはプロジェクトの列にプロジェクトを強調表示し、次にFile- Project Structure- Artifacts- +- Android Application- From module 'your app'そして、あなたは場所や他のいくつかのオプションを変更することができます。簡単にするために、ビルドオンビルドを有効にします。


「後でプロジェクト設定を構成するためのUIを提供します。それまでは、build.gradleファイルを手動で編集してください」というメッセージが表示されます。
Himanshu Aggarwal 2013年

8
そこに「アーティファクト」がない場合はどうなりますか?
リス

左上のプラス記号を
押す

jetbrains.com/idea/webhelp/artifacts.html アーティファクトを使用するポイントは何ですか?署名されていないapkデバッグapkなどを生成することだと思いましたが、gradleメニューから(少なくともintellij IDEで)assemblyreleaseを実行している限り、build / apkフォルダーに移動して署名されていないapkを取得できるようです。アーティファクトを設定したばかりですが、本当にそれをどうするかを理解するのに苦労しています。誰かが違いを明確にし、使用するか、正しい方向に向けてくれますか?
cjayem13 14

@ cjayem13一部のプロジェクトではGradleを使用していません。
Marc Plano-Lesay 2015年

11

OSXのAndroid Studio 2.2.3では、トップメニューを使用しました。

Build > Build APK

.apkファイルでFinderを開きました。これにより、署名済みAPKは生成されません。Generate Signed APK必要に応じて、同じメニューから選択できます。


署名付きAPKを生成しようとしましたが、キーストアパスを要求しています。そこで何が提供されると思いますか?
codeinprogress 2017


11

AndroidStudio 3.4


後はGrade Build Running、完全な、あなたのような右下隅に通知が表示されます。

クリックするlocateと、デバッグ可能なAPKが表示されます


10

あなたのApplication \ app \ build \ outputs \ apkに移動してください

両方を電話にコピーし、app-debug.apkをインストールします


1
両方のファイルをコピーする必要がありますか?
Vahid Ghadiri、2015

4

私のための次の仕事:

build.gradleで作成した場合は、次の設定を空白のままにします。

signingConfigs {
        release {
            storePassword ""
            keyAlias ""
            keyPassword ""
        }
    }

エディタウィンドウから[Gradle Task]を選択します。作成した場合は、すべてのフレーバーのリストが表示されます。

ここに画像の説明を入力してください


3

--- signingConfigsで新しい構成を作成します

unsigned {
        //do not sign
    }

--- buildTypesでビルドタイプを作成します

unsigned {
        versionNameSuffix '-unsigned'
    }

---バリアントをビルドして、署名されていない標準を選択します。プロジェクトをビルドします。

---「outputs / apk」に移動し、「XXX-unsigned.apk」を見つけます。署名されていないかどうかを確認するには、デバイスにインストールしてください。失敗します。


これは動作しません。少し異なるsigninigConfigを定義する必要があります(stackoverflow.com/a/18121401/624109から取得)signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
Muzikant

1

Android Studio v1.1.0では次のようになります。

  1. 選択Run>Run <your app>
  2. .apkファイルを見つける <your app>\build\outputs\apk

1.2.1.1を使用していますが、アプローチが機能しません。Gradleアセンブリを作成する必要があります!
プログラマー

0

Androidスタジオは、プログラムをコンパイルするたびにapkファイルも作成します。ワークスペースフォルダーに移動し、app-> build-> outputs->を見つけるだけで、apkファイルを確認できます。


0

ツールバーの実行ボタンの近くにあるドロップダウンをクリックして、

  1. 「構成の編集」を選択します
  2. 「+」をクリックします
  3. 「ゆりかご」を選択
  4. モジュールをGradleプロジェクトとして選択します
  5. タスク:アセンブルと入力します

OKを押します。

必要なのは、ドロップダウンから構成を選択して実行ボタンを押すだけです。しばらく時間がかかります。未署名のAPKは次の場所にあります

Project\app\build\outputs\apk

0

解く!

まず第一に、これらを追加する必要があります:

defaultConfig { 
 multiDexEnabled true
}

dependencies {
 implementation 'com.android.support:multidex:1.0.3'
}

その後、Android Studioの上部バーにある[ ビルド ]をクリックする必要があります。

ビルド >バンドルのビルド/ APK(s)> Build APK(s)

最後に、app-debug.apkファイルがあります。

アプリ>ビルド>出力> apk>デバッグ> app-debug.apk

:apk、debug、app-debug.apkファイルは、Android Studioによって出力ファイルに自動的に作成されます。


0

未署名のAPKを作成する手順

注:技術的には、デバッグキーで署名されたAPKが必要です。実際に署名されていないAPKは、デバイスによって拒否されます。そのため、デバイスにインストールすると、Unsigned APKでエラーが発生します。


「プロセスの作業ディレクトリを「C:\ Users \ marad \ .gradle \ daemon \ 5.2.1 \ My Application」に設定できませんでした:現在のディレクトリを設定できませんでした(エラー番号2)」というエラーが表示されました
質問

0

未署名のAPKの場合: signingConfigをnullに設定するだけです。appName-debug-unsigned.apkを提供します

debug {
     signingConfig null
}

そして、ビルドメニューからビルドします。楽しい

署名済みAPKの場合:

signingConfigs {
        def keyProps = new Properties()
        keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
        internal {
            storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
            storePassword keyProps.getProperty('STORE_PASSWORD')
            keyAlias keyProps.getProperty('KEY_ALIAS')
            keyPassword keyProps.getProperty('KEY_PASSWORD')
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.internal
            minifyEnabled false
        }
        release {
            signingConfig signingConfigs.internal
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

keystore.propertiesファイル

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.