繁体   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