阅读(1138)
赞(10)
通过工件生成已签名的发布APK
2018-03-17 10:10:31 更新
要在物理设备上部署和运行 Android 应用程序,您需要对应用程序进行数字签名。使用 IntelliJ IDEA,您可以在打包提取时使用现有版本密钥对您的 Android 应用程序包(.apk 文件)进行签名。IntelliJ IDEA 还集成了一个可在包装过程中调用的发布密钥生成工具。生成的密钥保存在密钥库二进制文件中。
您可以根据需要使用任意数量的密钥库文件和密钥,并使用现有的密钥,或在现有密钥库中创建新密钥,甚至创建新的密钥库。
除了使用“生成签名APK向导(Generate Signed APK Wizard)”,您还可以通过创建 Android 应用程序工件定义将 .apk 文件配置为工件。当 IntelliJ IDEA 根据此定义构建包时,包会自动签名。
使用工件定义提取并签署发布的Android应用程序包
- 从主菜单中选择:文件| 项目结构(File | Project structure),并且单击左侧窗格的
Artifacts
。 - 点击新建按钮,并从上下文菜单中选择“Android应用程序(Android Application)”。
- 在弹出菜单中,通过选择以下选项之一来定义工件内容:
- 要创建一个空的布局定义,请选择“空(Empty)”。
- 要在工件中包含模块数据,请选择“从模块<模块名称>(From module <module name>)”
新工件的常规设置将显示在右侧的“工件布局(Artifact Layout)”窗格中。
- 指定工件的常规设置。在“输出目录(Output directory)”文本框中,指定目标程序包
.apk
文件的位置。 - 通过以下步骤完成工件定义:
- 配置工件结构。
- 将资源添加到工件。
- 排列工件中包含的元素。
- 如有必要,指定在“预处理(Pre-processing)”和“后处理(Post-Processing)”选项卡中构建工件之前和之后要执行的其他活动。
- 切换到“Android选项卡(Android tab )”选项,然后从“类型(Type)”下拉列表中选择“发布签名(Release signed)”。
- 指定要使用的发行版密钥和包含它的密钥库文件。执行以下操作之一:
- 使用现有密钥库文件中的密钥对软件包进行签名:
- 在“密钥库路径(Key store path)”文本框中指定文件位置。手动键入路径或单击选择“现有按钮(Choose existing)”,然后在打开的对话框中选择该文件。在“密钥库密码(Key store password)”文本框中,输入所选密钥库的密码。
- 指定密钥别名并输入密码以访问密钥。
- 要在现有密钥库中生成新密钥,请执行以下操作:
- 在“密钥库路径(Key store path)”文本框中指定文件位置。手动键入路径或单击选择“现有按钮(Choose existing)”,然后在打开的对话框中选择该文件。在“密钥库密码(Key store password)”文本框中,输入所选密钥库的密码。
- 单击 Create new 按钮,并通过填写打开的 New Key Store 对话框中的数据来配置要生成的释放键。
- 使用新密钥生成新的密钥库文件:
- 点击“新建(Create new)”按钮。在打开的“新建密钥库(New Key Store)”对话框中,指定要在密钥库路径文本框中生成的文件的位置。手动键入路径或单击浏览按钮,然后选择父文件夹并指定文件的名称。
- 指定并确认密码以访问密钥库。
- 填写密钥区域中的数据以配置新版本密钥。
点击“下一步”。
- 使用现有密钥库文件中的密钥对软件包进行签名:
- 要让 IntelliJ IDEA 在打包过程中对应用程序进行模糊处理,请选中“运行ProGuard(Run ProGuard)”复选框并指定 proguard.txt 配置文件的位置。该文件在创建项目时生成并存储在项目根目录中。IntelliJ IDEA 在“配置文件路径(Config file path)”文本框中建议这个默认位置。接受建议或通过单击“浏览”按钮,并在打开的对话框中选择所需的文件来指定自定义配置文件。