Android开发把项目打包成apk

2023-11-04

做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android Package),其后缀名为".apk"。将APK文件直接上传到Android模拟器或Android手机中执行即可进行安装。Android系统要求具有其开发者签名的私人密钥的应用程序才能够被安装。生成数字签名以及打包项目成APK都可以采用命令行的方式,但是通过Eclipse中的向导我们会更加方便地完成整个流程,打包发布的过程非常简单。下面以前面开发的"Hello World"为例,演示如何生成APK。

右键单击项目名称,选择"Android Tools",再选择"Export Signed Application Package…",如下图所示。

 

进入左图所示页面,单击"Next>"按钮,进入如右图所示窗口。
 

其中,Location为证书库将要存放的位置,Password是证书库的密码。

打包程序时,系统要求使用数字证书。如果没有数字证书,我们选择"Create new keystore"新创建一个证书库,单击"Browse…"按钮选择证书库将要保存的位置并填入信息,如左图所示。单击"Next>"按钮,如右图所示。

 

其中,Alias是该证书的名字;password是该证书的密码;Validity是指定证书有效年份。

如果已经拥有一个证书,那么可以选择"Use existing keystore",之后直接定位到证书库的位置并填入密码,如左图所示,接下来填入密码,单击"Next>"按钮,如右图所示。

 
单击"Browse…"按钮,选择文件保存的位置,如下图所示。
 

"Destination APK file "指定APK存储的位置。单击"Finish"按钮,打包完成。

进入"D:\My Document",会看到生成的HelloWorld.apk以及sharpandroid证书库。

我们可以把HelloWorld.apk文件发布到Internet上,也可以将该文件发布到Google的Android Market中,别人就可以下载它,并安装到手机上去。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开发把项目打包成apk 的相关文章

  • 有没有一种方法可以在不使用意图的情况下在活动之间发送数据?

    我有一个对于每个用户来说都是唯一的用户名 我想将其发送到某个活动 但我不想使用意图 create an intent and sends username Intent intent new Intent RegisterOwner thi
  • 使用busybox在后台安装apk

    我可以在 root 设备上使用 busybox 在后台安装 apk 吗 我看到类似的东西 但它不起作用 process install CommandCapture command new CommandCapture 0 chmod 77
  • 手机重置后AlarmManager闹钟不触发

    在我的应用程序中 用户加入一个计划 然后第二天中午会出现警报通知 这是我的代码 首先 我在 AlarmManager 中设置一个闹钟 如下所示 set alarm to the next day 12 00 noon of the join
  • Android SQLite 从代码中转储数据库以进行错误报告

    我正在为我的一个 Android 程序开发一种诊断工具 本质上 如果用户遇到问题 我想做一些类似 SQLite 的事情dump 参考 http www sqlite org sqlite html http www sqlite org s
  • Android 片段之间的阴影分隔符

    我有一个类似于平板电脑的 ICS Gmail 应用程序的布局 ListFragment左边是内容 右边是内容 我想知道如何构建布局 使两个片段之间有一个阴影分隔符 就像在 Gmail 应用程序中一样 如下所示 另外 由于这适用于这个问题 我
  • 地理编码 API 与地理编码器

    在我的应用程序中 我需要使用地理编码 但我不太清楚该使用哪种方法 直到昨天我在URL中添加了参数maps googleapis com maps api geocode json address myparameter sensor fal
  • 项目缺少所需的注释处理库

    我的 Eclipse IDE 突然在问题视图中显示 xxxx 项目缺少所需的注释处理库 xxxx M2 REPO 中的一些旧 jar 我用谷歌搜索 没有找到任何答案 为什么我的项目使用旧的 jar 以及错误来自哪里 To remove th
  • Android Studio 安装失败,APK 未签名

    最近从 Eclipse 更改为 Android Studio 我还更改了 JDKjava open jdk to jdk1 7 0 45 现在我尝试运行我的第一个应用程序 并收到以下消息 Installation failed since
  • 在没有 BluetoothManagerCallback 的情况下调用 getBluetoothService

    我正进入 状态getBluetoothService called with no BluetoothManagerCallback在我的 Android 应用程序中经常出现错误 我不知道是什么原因导致这个或任何有关蓝牙管理器回调的事情 谁
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • 合并 dex 程序类型已存在时出错:android.support.v4.os.ResultReceiver$MyResultReceiver

    合并dex时出错 以下是依赖项 ext anko version 0 10 5 support lib 1 0 0 alpha1 room lib 1 1 0 dependencies implementation org jetbrain
  • Eclipse CDT Headless 构建在构建完成后挂起

    我正在为我们的嵌入式应用程序实现一个持续集成服务器 该应用程序是使用 GNU ARM 工具链和 GNU ARM ECLIPSE 插件构建的 因此 我需要从服务器上的命令行编译我们的 CDT 项目 我想编译 Debug Release 和 U
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • Android 媒体播放器搜索栏

    我有一个创建 播放和处理媒体播放器 只是音频 的服务 但我在主要活动中有一个搜索栏 我想自然地显示音频文件的进度并允许用户搜索到不同的位置 我花了很长时间才弄清楚 将 UI 中的搜索栏连接到服务中的媒体播放器的最佳或正确方法是什么 我将这样
  • 调整 SwipeRefreshLayout 高度,将 View 置于其底部

    I have SwipeRefreshLayout里面一个RelativeLayout 问题是SwipeRefreshLayout占据了屏幕上的所有位置 我需要放置一个视图after这个观点 看图片 https i stack imgur
  • 运行 Android 应用程序时出现错误

    我已经使用 Eclipse 创建了一个 Android 应用程序 但应用程序未在 AVD 上运行 它显示 不幸的是已停止工作 日志猫消息如下 07 29 04 59 50 789 W dalvikvm 784 threadid 1 thre
  • 推特更新状态

    我正在通过 twitter4j 将 Twitter 集成到 Android 我可以成功阅读我发布的推文 现在我试图用它发布推文 但我不能 我收到如下奇怪的警告 02 01 16 28 43 298 WARN System err 729 4
  • 通知操作而不启动新活动?

    我计划提供一个包含两个操作的提醒通知 一个用于批准登录请求 一个用于拒绝登录请求 通过单击这些操作中的任何一个 我希望向我的服务器发出 HTTP 请求 最重要的是 我不想启动新的 Activity 或根本不想将用户重定向到我的应用程序 Co
  • 在循环中按名称访问变量

    我正在开发一个 Android 项目 并且有很多可绘制对象 这些绘图的名称都类似于icon 0 png icon 1 png icon 100 png 我想将这些可绘制对象的所有资源 ID 添加到整数 ArrayList 中 对于那些不了解
  • Android 版本低于 Lollipop 时出现 java.lang.NoClassDefFoundError

    我有一台运行 Android 21 的 Nexus 5 设备 我正在测试我的项目 没有任何问题 但是 如果我使用 Google API 19 在模拟器上进行测试 则会显示错误java lang NoClassDefFoundError 如果

随机推荐

  • 【Cocos Creator 3D快捷方式】Cocos Creator 3D场景基本操作与快捷方式

    3D场景记住以下操作就可以了 a 双击节点 让节点来到我们视野中央 要看哪个物体 我们只要双击这个节点 b 拉远拉近 鼠标滚轮滚动 拉远 拉近操作 c 按住alt 鼠标左键按下 拖动 360度来查看我们的节点模型 d 鼠标右键 wsad 这
  • unity Editor下批量设置材质球中的贴图部分:

    批量设置材质球中Main Maps部分贴图包含 Albedo Metallic Nomap Occlusion 脚本存放位置 放在在Editor目录之下 点击 window 之下的AddMaterialBall 资源存放位置 所有的材质球和
  • 【牛客SQL】SQL23 对所有员工的薪水按照salary降序进行1-N的排名

    题目描述 描述 有一个薪水表salaries简况如下 对所有员工的薪水按照salary降序进行1 N的排名 要求相同salary并列且按照emp no升序排列 示例1 输入 drop table if exists salaries CRE
  • 一线城市重金扶持区块链项目 2020年产业规模将超百亿元

    导读 从2017年开始 区块链不仅掀起了行业热浪 也引来了地方政府的极大关注 一线城市开始重金扶持区块链项目 据统计 北京对单个区块链项目最高扶持额上限500万元 广州为上限300万元 深圳上限200万元 一 群雄逐鹿 黄埔领先 作为广州第
  • [ICCV2019]Deep Single-Image Portrait Relighting

    标题 Deep Single Image Portrait Relighting 链接 http openaccess thecvf com content ICCV 2019 papers Zhou Deep Single Image P
  • stm32串口IAP例程解析

    例程获取 可以通过访问官方网站www st com获取示例代码和应用笔记 示例代码 x cube iap usart 应用笔记 an4657 同时本文涉及的所有资料可以从此下载 链接 https pan baidu com s 19nKPc
  • VS2022编译OBS29.1之后的版本

    OBS仓库 https github com obsproject obs studio 在OBS 29 1之前 windows系统编译时需要手动下载deps依赖库文件 具体可参考我的另一篇博客 vs2019编译obs 编译视频 vs201
  • openGL API 之glDrawBuffer(GL_NONE);

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 glDrawBuffer官网 二 翻译 前言 openGL API 之glDrawBuffer GL NONE 详解 一 glDrawBuffer官网 glDrawBu
  • 删除 KubeSphere 中一直卡在 Terminating 的 Namespace

    问题 最近一直在玩 KubeSphere 使用kubesphere delete sh删除KubeSphere 执行一段时间后发面ns删除不了 使用强制命令还是无法删除 kubectl delete ns kubesphere monito
  • 一文读懂SQL的增删改查(基础教程)

    前言 一 一些最重要的 SQL 命令 二 查询 SELECT 1 查询所有列 2 查询指定列 3 查询并去重 DISTINCT 4 按条件查询where 5 SQL AND OR 运算符 6 SQL ORDER BY 关键字 7 SQL L
  • 代码pytorch-adda-master跑通记录

    前言 最近在学习迁移学习 ADDA算法 由于嫌自己写麻烦 准备先跑通别人的代码 代码名称 pytorch adda master 博客 https www cnblogs com BlairGrowing p 17020378 html g
  • .NET MVC + vue 前后端不分离--基本配置

    啊我是第一次接触前后不分离的vue项目 记录一下遇到的困难 一 vue要怎么放进 NET 项目里面 1 安装webpack 如果文件后缀用 vue的话 npm install webpack g 全局的安装 webpack v 查看是否安装
  • Python机器学习基础教程

    文章目录 监督学习与预处理 无监督学习的类型 数据集变换 聚类 无监督学习的挑战 预处理与缩放 应用数据变换 对训练数据和测试数据进行相同的缩放 预处理对监督学习的作用 降维 特征提取与流形学习 主成分分析 将PCA应用于cancer数据集
  • C#FTP操作类含下载上传删除获取目录文件及子目录列表等等

    ftp登陆格式 ftp 帐号 密码 IP 端口 ftp 用户名 密码 FTP服务器IP或域名 FTP命令端口 路径 文件名 直接上代码吧 根据需要选择函数 可根据业务自己修改 如日志记录 提示等等 using System using Sy
  • 职工工资程序c语言doc,c语言职工工资管理程序代码.doc

    c语言职工工资管理程序代码 include include include include define N 3 void enter int menu void input void search void search number v
  • r语言如何将图变成矩阵?_SPSS矩阵散点图:多变量关系探查利器

    多变量关系探查 矩阵散点图是非常不错的选择 是可视化利器 假设你有5个指标数据要考察两两之间关系 不需要依次制作10个散点图 矩阵散点图可以 一次搞定 在一个大坐标下完成所有散点图的绘制 按照矩阵的形式呈现出来 更高效 SPSS提供独特的散
  • C++ 学习大纲

    一 C 基本语法知识点 二 数据结构和基本算法 刷题 三 数据库 四 并行 五 网络编程 socket编程 服务器开发 并行量吞吐量稳定性 六 库的使用 引入第三方库 boost库 七 操作系统的知识
  • 四元数-坐标系转换-旋转-转欧拉角

    1 四元数世界坐标系转换到父节点坐标系下 公式 Q Q父 1 Q子 把四元数转到父坐标系下 ChildLocalQuat VDFULL GetChildLocalQuat quaternion father quaternion child
  • Qt子线程的“信号队列”(转载)

    对Qt的多线程编程没有深究 只了解了基本的用法 够我用就行了 之所以写这篇文章是因为前几天遇到一个疑问 如果其他几个线程同时向一个线程发signal 而这个线程没有自己的事件循环 那是不是会丢失signal呢 下面是我总结的两种子线程的工作
  • Android开发把项目打包成apk

    做完一个Android项目之后 如何才能把项目发布到Internet上供别人使用呢 我们需要将自己的程序打包成Android安装包文件 APK Android Package 其后缀名为 apk 将APK文件直接上传到Android模拟器或