生成 APK 文件

•步骤

  点击  Build -> Generate Signed...... ;

  来到如下界面;

  

  选择 APK 选项,点击 Next 来到如下界面;

  

  如果你电脑上没有一个正式的 keystore 文件,点击 Create new 按钮,弹出如下对话框;

  

  • Key store path : 选择 Key store 的存储路径,我放到了 D:\AndroidStudio\APK\ 目录下,并命名为 key-store.jks

  • Password : 自己定义密码,最好和下面的 Password 设置成相同的密码,容易记住

  • Alias : 为 Key store 取一个别名

  都填好后,点击 OK 按钮即可;

  此时,他可能会报错;

  

  别急,莫慌,点击 OK 后来到如下界面;

  

  如果你希望以后都不用再输 Keystore 密码,就把 Remember passwords 勾选上;

  然后点击 Next 按钮,跳转到如下界面;

  

  • Destination Folder : 设置打包后的 APK 放置路径

  • debug : 测试版

  • release : 发行版

  • V1 or V2 签名选择 : 见这篇博客

  点击 Finish 按钮完成打包,然后,到你填写的 APK 放置路径找到打包好的 APK,发送到手机上安装即可;

  或者根据右下角的提示,点击 locate 找到相应的路径;

  

打包过程中遇到的 bug

•bug1

  

•bug1 解决方案

  打开 cmd ,输入如下指令:

     keytool -genkey -alias testalias -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\AndroidStudio\APK\test.keystore -storepass 123456

  • testalias : 设置的 alias 值

  • 123456 :设置的 password

  • D:\AndroidStudio\APK\test.keystore:设置的 keystore 路径(自行设置)

  按下回车,出现如下界面;

  

  上述步骤都完成后,你会在你设置的 keystore 路径 (D:\AndroidStudio\APK)下找到 test.keystore 文件;

  然后,重复上述安装步骤,来到如下界面时;

  

  选择 Choose existing 按钮,并找到 D:\AndroidStudio\APK 下的 test.keystore 文件;

  其余步骤就和上面的剩下的安装步骤一样了;

•bug2

  

•bug2 解决方案

  打开 app 下的 build.gradle,在  android{} 中添加如下代码;

lintOptions{
  checkReleaseBuilds false
  abortOnError false
}

  另一种修改方式:参考博客

•bug3

   error: failed to read PNG signature: file does not start with PNG signature

  错误原因:复制图片到 Android Studio 时,手动将 .jpg 后缀的图片改成了 .png 格式;

  你需要专业的工具将 .jpg 图片转换成 .png 图片,转换好后在添加到 Android Studio 中;

•bug3 解决方案

  • 【方案一】:【在线图片转PNG格式

    • 登录此网站,将图片在线转成 png 即可
  • 【方案二】:格式工厂

    • 如果你有网盘会员,点击这里下载【,提取码:1234】
    • 也可以使用这个网页极速下载,安装时要注意捆绑软件

•bug4

   Password verification failed

•bug4 解决方案

  将主项目的 build 文件夹(app/build)整个删除,再打包重新输入密码后成功。

Android Studio 之生成正式签名的 APK 文件的更多相关文章

  1. 如何用Android studio生成正式签名的APK文件

    必须签名之后才可以发布到app商店中. 平时的调试的app都有默认的签名. 下面是生成带签名的APK的步骤: 1. Build 选择 Generate Signed APK 2. 弹出框,第一次选择C ...

  2. Android Studio 打包生成正式apk(XXX-release.apk)的两种方式

    { 方式一:使用Android Studio生成1.点击Build->Generate Signed apk,首次点击可能会提示输入操作系统密码2.弹出如下对话框,还没有生成过keystore ...

  3. Android Studio非gradleproject编译后的apk文件在哪?

    非gradle的apk文件位置和gradle有一些差别,怎样找到apk文件在哪?我直接上图吧,选中project,右键: 在windows是选择"show in exlporer" ...

  4. android studio 怎么将项目打包成apk文件

    1.Build -> Generate Signed APK...,打开如下窗口 2.假设这里没有打过apk包,点击Create new,窗口如下 这里只要输入几个必要项 Key store p ...

  5. Android Studio单独生成apk

    /********************************************************************* * Android Studio单独生成apk * 说明: ...

  6. [转]使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)

    在android4.0以后的sdk里那个脚本就失效了,主要是因为 apkbuilder这个程序不见了: 人家sdk升级,我们的脚本也要跟上趟,修改一下喽. 上网一查,大家的文章还停留在我去年的脚本程度 ...

  7. Android 开发基础入门篇: 生成带有签名的apk安装包

    说明: 软件默认生成的安装包没有签名,现在手机安装APP的时候要求,安装包必须有签名才可以 默认生成的APK位置 现在生成带有签名的APK 我一般放到当前工程根目录,然后文件名字 key 有些时候需要 ...

  8. Android Studio 3.0正式版填坑之路

    原文:https://www.jianshu.com/p/9b25087a5d7d   Android Studio 3.0启动图 序言 总看别人的文章,今天尝试着自己来写一篇.在逛论坛时候,无意间发 ...

  9. Android Studio 3.6 正式版终于发布了

    Google 下载地址 百度云 下载地址 密码:epl9 如题,Android Studio 3.6 正式版终于发布了,值得兴奋呀,毕竟 3.5 大版本更新也已经差不多半年了,撒花撒花!这次更新又更新 ...

随机推荐

  1. js 深入原理讲解系列-事件循环

    js 深入原理讲解系列-事件循环 能看懂这一题你就掌握了 js 事件循环的核心原理 不要专业的术语,说人话,讲明白! Q: 输出下面 console.log 的正确的顺序? console.log(' ...

  2. PWA All In One

    PWA All In One chrome://apps/ PWA Progressive Web App 可安装,添加到主屏 离线使用 轻量,快速 基于 Web 技术一套代码多端复用(移动端,桌面端 ...

  3. node os env reader

    node os env reader node-os-env-reader.js #!/usr/bin/env node "use strict"; /** * * @author ...

  4. Flutter 避免阻塞ui线程

    import 'dart:async'; import 'dart:isolate'; import 'package:flutter/material.dart'; import 'package: ...

  5. NDK android Error:Expected caller to ensure valid ABI: MIPS

    android studio 安装NDK之后,报错 Error:Expected caller to ensure valid ABI: MIPS 环境: android studio 2.3 gra ...

  6. SpringBoot(七):SpringBoot中如何使用过滤器(Filter)?

    方式一: 通过注解方式实现: 1.编写一个Servlet3的注解过滤器(和上一章Servlet相似) 贴代码: package com.example.springbootweb.filter; im ...

  7. css3自动换行排列

    如果一行放不下就会自动换行 display: flex; flex-wrap: wrap; 示例 : html <div class="container"> < ...

  8. Markdown基础使用方法

    Markdown基础使用方法 标题的几种用法 * 选中标题(Ctrl+1~Crtl+6),分别为标题1-6.* #+空格+内容 为一级标题##+空格+内容为二级标题:以此类推. 字体快捷键及使用方法 ...

  9. PAT-1148(Werewolf )思维+数学问题

    Werewolf PAT-1148 题目的要点是不管n规模多大,始终只有两个狼人 说谎的是一个狼人和一个好人 紧紧抓住这两点进行实现和分析 #include <iostream> #inc ...

  10. [Elementary Mechanics-01]Two masses and a spring

    [Elementary Mechanics Using Python-01] Question 5.28 Two masses and a spring. Two particles of m = 0 ...