codecamp

在调试模式下生成Android安装包(APK)

在调试模式下生成Android安装包

除了生成要在物理设备上部署的签名包或者要在模拟器上运行的未签名包之外,你还可以在调试模式下提取并签署 Android 应用程序包。此签名足以用于测试和调试应用程序,但不允许发布它们。仅通过配置工件即可使用调试模式中的应用程序包签名。

在调试模式下,您可以使用默认证书或自定义证书对 APK 进行签名。

如果您决定使用默认证书,则 IntelliJ IDEA 使用调试密钥库或由 Android SDK 工具生成并具有预定义名称和密码的密钥以调试模式签署解压缩包:

  • 密钥库名称: debug.keystore
  • 密钥库密码: android
  • 密钥别名: androiddebugkey
  • 密钥密码: android
  • CN(通用名称):CN=Android Debug,O=Android,C=US

这些是 IntelliJ IDEA 中的默认设置。这意味着如果您没有在“运行/调试配置:Android应用程序(Run/Debug Configuration: Android Application)”对话框中手动配置工件并选择“部署默认APK(Deploy default APK)”选项,IntelliJ IDEA 将在证书中使用预定义的值来生成 .apk。 

如果您使用自定义证书,则 IntelliJ IDEA 使用调试密钥库或您自己指定的密钥在调试模式下对解压缩的包进行签名。您可以生成新的证书或重新使用现有的证书。例如,后一种方法很有用,例如,如果您有多个应用程序,并且您希望它们都使用相同的证书进行签名,以便它们可以存储在设备上的同一文件夹中。

在调试模式下签名软件包

  1. 从主菜单中选择:文件| 项目结构(File | Project structure),单击左侧窗格的Artifacts
  2. 点击新建按钮并从上下文菜单中选择“Android应用程序(Android Application)”。
  3. 在弹出菜单中,通过选择以下其中一个选项来定义工件内容:
    • 要创建一个空的布局定义,请选择“空(Empty)”。
    • 要在工件中包含模块数据,请选择“从模块<模块名称>(From module <module name>)”

    新工件的常规设置将显示在右侧的“工件布局(Artifact Layout)窗格”中。

  4. 指定工件的常规设置。在“输出目录(Output directory)”文本框中,指定目标程序包.apk文件的位置。
  5. 通过以下步骤完成工件定义:
    • 配置工件结构。
    • 将资源添加到工件。
    • 排列工件中包含的元素。
    • 如有必要,指定在“预处理(Pre-processing)”和“后处理(Post-Processing)”选项卡中构建工件之前和之后要执行的其他活动。
  6. 切换到 “Android” 选项卡并从“类型(Type)”下拉列表中指定要使用的证书:
    • 选择“使用默认证书签名的调试(Debug signed with default certificate)”,以使 IntelliJ IDEA 使用调试密钥库或由 Android SDK 工具生成的具有预定义名称和密码的密钥。
    • 选择“使用自定义证书签名的调试(Debug signed with custom certificate)”,以使用您选择的证书对软件包进行签名。通过执行以下任一操作来指定要使用的密钥和包含它的密钥库文件:
      • 使用现有密钥库文件中的密钥对软件包进行签名:
        1. 在“密钥库路径(Key store path)”文本框中指定文件位置。手动键入路径或单击“选择现有(Choose existing)”按钮,然后在打开的对话框中选择该文件。在“密钥库密码(Key store password)”文本框中,输入所选密钥库的密码。
        2. 指定密钥别名并输入密码以访问密钥。
      • 要在现有密钥库中生成新密钥,请执行以下操作:
        1. 在“密钥库路径(Key store path)”文本框中指定文件位置。手动键入路径或单击“选择现有(Choose existing)”按钮,然后在打开的对话框中选择该文件。在“密钥库密码(Key store password)”文本框中,输入所选密钥库的密码。
        2. 单击 Create new 按钮,并通过填写打开的“新建密钥库(New Key Store)”对话框中的数据来配置要生成的释放键。
      • 使用新密钥生成新的密钥库文件:
        1. 点击“新建(Create new)”按钮。在打开的“新建密钥库(New Key Store)”对话框中,指定要在密钥库路径文本框中生成的文件的位置。手动键入路径或单击“浏览”按钮,然后选择父文件夹并指定文件的名称。
        2. 指定并确认密码以访问密钥库。
        3. 填写密钥区域中的数据以配置新版本密钥。
    点击“下一步”。
  7. 要让 IntelliJ IDEA 在打包过程中对应用程序进行模糊处理,请选中“运行ProGuard(Run ProGuard)”复选框并指定 proguard.txt 配置文件的位置 。该文件在创建项目时生成并存储在项目根目录中。IntelliJ IDEA 在“配置文件路径(Config file path)”文本框中建议这个默认位置。接受建议或通过单击“浏览”按钮并在打开的对话框中选择所需的文件来指定自定义配置文件。
生成未签名的发布Android应用程序包
Android禁止资源压缩
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }