簡體   English   中英

使用 Android Studio 構建未簽名的 APK 文件

[英]Build unsigned APK file with Android Studio

我正在使用 Android Developer Tool 開發 Android 應用程序。 現在我嘗試了新的Android Studio,如果將我的智能手機與PC連接並直接在Android Studio中運行程序,一切正常。 但現在我想用其他智能手機測試該程序,而無需將它們連接到我的 PC。

每次編譯程序時,ADT 都會在“projectname/bin”下創建 .apk 文件。 我目前的看法是,Android Studio 不會那樣做。

所以,我的問題是:是否可以使用 Android Studio 創建一個未簽名的 .apk 文件?

我建議您使用 Gradle 構建您的 APK 文件:

  • 單擊頂部工具欄中的下拉菜單(打開“編輯運行/調試配置”對話框)
  • 選擇“編輯配置”
  • 點擊“+”
  • 選擇“梯度”
  • 選擇你的模塊作為 Gradle 項目
  • 在任務中:輸入assemble
  • 按運行

您未簽名的 APK 現在位於

ProjectName\app\build\outputs\apk

有關如何使用 Gradle 的詳細信息,請參閱本教程: 在 Android Studio 中使用 Gradle 構建 我還寫了一篇關於如何使用 Gradle 構建未簽名 APK 的博客文章

如果您從其他 IDE 移動了您的項目並且不想重新編譯,您可能會發現您的 APK 文件已經在您移動的 IDE 中構建:

  • 如果您使用 Android Studio 生成項目,APK 文件將在ProjectName/ProjectName/build/apk/...

  • 從eclipse導入項目:文件應該在同一目錄中。 轉到Project - Show in Explorer 在那里你應該找到你的 APK 文件所在的 bin 文件夾。

  • 從 IntelliJ 導入,位置將是ProjectName/out/production/...

旁注:正如克里斯·斯特拉頓在他的評論中提到的:

從技術上講,您需要的是使用調試密鑰簽名的 APK。 設備將拒絕實際未簽名的 APK。

根據Build Unsigned APK with Gradle,您可以簡單地使用 gradle 構建您的應用程序。 為了做到這一點:

  1. 單擊頂部工具欄上的下拉菜單(通常帶有 android 圖標和應用程序名稱)
  2. 選擇Edit configurations
  3. 單擊左上角的加號或按alt+insert
  4. 選擇Gradle
  5. 選擇你的模塊作為Gradle project
  6. Tasks:輸入assemble
  7. OK
  8. 按播放

之后,您應該在ProjectName\\app\\build\\outputs\\apk目錄中找到未簽名的“apk”

最簡單的方法,我想:

  • 打開右側的 Gradle 選項卡
  • 雙擊 YourProject/:app/assemble(或 assembleDebug)
  • 你會在這里找到apk
    .../YourProject/app/build/outputs/apk/app-debug.apk

截屏

只需轉到 BUILD->Build APK 就完成了

安卓工作室 3.4


Grade Build Running完成后,您將在右下角看到通知。

單擊locate ,您將看到可調試的 APK

步驟 1打開安卓工作室。 構建 -> 生成簽名的 APK…。 現在點擊“生成簽名的APK”。

在此處輸入圖片說明

第2步

在此處輸入圖片說明

單擊新建。

第 3 步

填寫詳細信息,然后單擊確定。 在此處輸入圖片說明

jks key details,它會回到上一個窗口。

在此處輸入圖片說明

單擊下一步,並提供您存儲在密鑰中的密碼。

第四步

在此處輸入圖片說明

現在單擊完成並等待完成構建過程。

在此處輸入圖片說明

現在 apk 生成成功。 單擊在資源管理器中顯示。

在此處輸入圖片說明

如果您需要更多詳細信息,請訪問並查看現場演示http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs

在 Android Studio 中:

  1. 建造

  2. 構建 APK

  3. 等待並轉到彈出窗口中顯示的位置。 在右下側

在此處輸入圖片說明

是的,可以使用 Android Studio 創建未簽名的 .apk!

在包瀏覽器或項目列中突出顯示項目,然后File - Project Structure - Artifacts - + - Android Application - From module 'your app' ,然后您可以更改位置和其他一些選項。 我啟用在 make 上構建,只是為了方便。

Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

對於 OSX 上的 Android Studio 2.2.3,我只使用了頂部菜單:

Build > Build APK

它用.apk文件打開 Finder。 這不會生成簽名的 APK。 如果需要,您可以從同一菜單中選擇Generate Signed APK

只需轉到您的應用程序\\應用程序\\構建\\輸出\\apk

並將兩者復制到手機並安裝 app-debug.apk

以下為我工作:

如果您在 build.gradle 中進行了設置,請將以下設置保留為空白。

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

並從您的編輯器窗口中選擇 Gradle 任務。 如果您已創建,它將顯示所有風味的列表。

在此處輸入圖片說明

--- 在signingConfigs中創建新配置

unsigned {
        //do not sign
    }

--- 在 buildTypes 中創建構建類型

unsigned {
        versionNameSuffix '-unsigned'
    }

--- 去構建變體並選擇未簽名的標准。 構建項目。

--- 轉到“outputs/apk”並找到“XXX-unsigned.apk”。 要檢查它是否未簽名,請嘗試將其安裝到設備上 - 你會失敗。

對於未簽名的 APK:只需將 signatureConfig 設置為 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

現在在 Android Studio v1.1.0 中應該是:

  1. 選擇Run > Run <your app>
  2. <your app>\\build\\outputs\\apk找到 .apk 文件

Android studio 也會在每次編譯程序的時候創建apk 文件,只要到你的workspace 文件夾中找到app->build->outputs-> 就可以看到apk 文件了。

您可以單擊工具欄上運行按鈕附近的下拉菜單,

  1. 選擇“編輯配置”
  2. 點擊“+”
  3. 選擇“梯度”
  4. 選擇你的模塊作為 Gradle 項目
  5. 在任務中:輸入組裝

現在按確定,

您現在需要做的就是從下拉列表中選擇您的配置並按下運行按鈕。 這將需要一些時間。 您未簽名的 apk 現在位於

Project\app\build\outputs\apk

我解決!

首先,你應該添加這些:

defaultConfig { 
 multiDexEnabled true
}

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

之后,您應該在 Android Studio 的頂部欄中單擊Build

Build > Build Bundle(s)/APK(s) > Build APK(s)

最后,你有一個app-debug.apk文件:

應用程序 > 構建 > 輸出 > apk > 調試 > app-debug.apk

注意:Android Studio 在輸出文件中自動創建的 apk、debug、 app-debug.apk文件。

創建未簽名 APK 的步驟

 Steps for creating unsigned APK • Click the dropdown menu in the toolbar at the top • Select "Edit Configurations" • Click the "+" • Select "Gradle" • Choose your module as a Gradle project • In Tasks: enter assemble • Press Run • Your unsigned APK is now located in - ProjectName\\app\\build\\outputs\\apk Note : Technically, what you want is an APK signed with a debug key. An APK that is actually unsigned will be refused by the device. So, Unsigned APK will give error if you install in device.

注意:從技術上講,您需要的是使用調試密鑰簽名的 APK。 設備將拒絕實際未簽名的 APK。 因此,如果您安裝在設備中,未簽名的 APK 會出錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM