Android Native APP开发笔记:从新建到打包流程记录
文章目录
- 目的
- 下载与安装
- 新建项目与运行调试
- 更换名称和图标
- 打包应用
- applicationId
- 版本控制
- 真机调试
- 总结
- 题外话
目的
安卓是现在移动端平台占有率最大的平台,如果进行移动端用户应用开发大多数时候都避不开它。这篇文章将记录下安卓原生应用开发整个流程步骤,方便自己以后查询使用。
安卓开发者官网地址:
https://developer.android.com/
或
https://developer.android.google.cn/
下载与安装
目前安卓原生应用开发主要使用Android Studio,去官网下载对应的安装包安装即可。(目前版本为2021.3.1)
安装过程可以根据需要选择是否安装模拟器。安装过程中会联网下载很多内容,需要不少时间的。另外因为网络原因可能需要科学上网。
现在的Android Studio真是比以前的Eclipse用起来舒服多了。
新建项目与运行调试
注意路径上不能出现非ASCII字符(主要就是说不能有中文啦)。
初次建立项目会联网下载很多内容,需要不少时间的。另外因为网络原因可能需要科学上网。项目建立完成后就可以选择模拟器或真机设备进行运行或调试了:
如果是使用模拟器进行调试的话打开模拟器比较慢,需要耐心等待。如果使用真机调试的话可以查看后面 真机调试 章节进行设置。
更换名称和图标
安卓应用本身的各种配置主要在 AndroidManifest.xml
中:
如果不考虑国际化多语言的话只要修改下面资源中的字段就可以更换应用名称了:
图标理论上也可以直接更换资源中的图片,不过这里从菜单界面更新更加方便些:
需要注意的是再下一页的 Res Directory
选项,该选项会影响这里设置的图标在什么分支中可以用。如果想全局有效的话可以设置为 main
。
打包应用
开发好了就需要打包生成安装包给别人使用了。
可以根据需求设置版本号:
只是测试使用的话可以直接打包生成debug版本的安装包:
正式发布通常使用release版本:
目前安卓的应用都是需要使用密钥签名后才能安装的,这是用来证明应用发布者的身份的,如果一个应用换了签名打包那就没法覆盖安装升级了。
一个应用对应一个密钥,但一个密钥可以用在多个应用中。
调试或者上面debug版本中软件会自动生成供测试用的密钥进行签名。
需要注意的是请妥善保存密钥库文件,记住密钥库密码;记住使用该密钥库下哪个密钥进行的签名,并记住该密钥密码。
applicationId
上面有提到说一个APP对应一个包名,其实现在在Android Studio中并不是这样的,区别APP的标识字段是 applicationId ,只不过这个字段默认会使用包名而已。这个字段可以后面手动修改,修改后同步下项目,这样安装时就会安装为两个不同的APP了:
版本控制
Android Studio默认使用Git进行版本控制。
可能需要先下载安装Git https://git-scm.com/ ,并进行设置:
然后初始化仓库,仓库路径就是项目目录下:
之后就可以进行版本控制管理了:
真机调试
真机调试比较方便,但一开始连接需要设置下,所以这里单独拿出来说。
首先开启安卓设备上的开发者选项(不同机型可能位置有所不同):
然后在开发者选项中启用USB调试(不同机型可能位置有所不同):
设置完成后使用USB线连接设备和电脑,理论上就可以在Android Studio中看到设备了,选择即可:
如果没有发现设备的话可以选择 Troubleshoot Device Connection 根据提示来。如果ADB服务启动有问题的话可以尝试重启电脑试试。
如果上面操作还是不能发现设备的话可以根据下图方式安装 Google USB Driver
,然后在设备管理器中更新设备的驱动程序再试试:
总结
现在的Android Studio除了打开慢以外使用体验上真的比以前Eclipse好太多了。
这篇文章记录了使用Android Studio开发用户应用程序的整个流程,而接下来具体的开发只要根据应用需求参考官方文档来使用各种组件和API来编写程序就可以了。
题外话
目前组内的产品APP是由其它部门的 .Net程序员 用C# Xamarin开发的,包含Windows和Android版本的。该人员现在已离职,公司内部已经没有做Xamarin的了。另外最近组内硬件产品开发告一段落了,短时间内不会有新产品开发了。所以接下来就打算使用新方案重做一遍APP。
目前组内所有硬件产品主体功能我都使用HTTP方式与客户端进行通讯,客户端通过UDP广播来发现设备。所以我打算APP的主要功能上都使用Web来实现,然后加个壳打包为原生应用(其实也不算Native App了,已经是Hybrid App了)。
桌面端的打包方案没什么好说的,现在最主流的就是 Electron(https://www.electronjs.org/);移动端方案我主要看过以下几个:
Google 的 Flutter https://flutter.dev/
Ionic 的 Capacitor https://capacitorjs.com/
DCloud 的 uni-app https://uniapp.dcloud.net.cn/
后来想想可预见范围内大概也不会有开发 iOS 端的需求,所以还是直接用 Android Native + WebView 组件吧。主要考虑两点:1、以前做过安卓原生应用开发,虽然很早,在还没有Android Studio、Gradle、Kotlin的年代;2、如果做嵌入式安卓的话还会有做安卓应用开发的需求的,就当练手了。
Android Native APP开发笔记:从新建到打包流程记录相关推荐
- Android Native APP开发笔记:文件存储与访问
文章目录 目的 基础说明 应用专属存储空间 共享存储 其它 总结 目的 APP开发与使用过程中免不了和文件打交道,对于Windows或Linux而言文件的存储与访问操作都很方便,直接通过文件系统路径和 ...
- Android Native APP开发笔记:使用WebView控件加载网页
文章目录 目的 基础使用 处理网页导航 加载本地网页 Web和Native之间交互 调试Web应用 处理页面重绘 总结 目的 WebView是一个比较常用的控件,功能上也比较单一,就是用来加载网页的, ...
- Android Native APP开发笔记:双击返回键退出应用单击返回键返回桌面
文章目录 目的 基础说明 双击返回键退出应用 单击返回键回到桌面 总结 目的 双击返回键退出应用 很早之前就是Android中非常常见的一种功能,而目前好多安卓应用为了应用常驻都改为使用 单击返回键返 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例...
引言 Cordova(PhoneGap)採用的是HTML5+JavaScript混合模式来开发移动手机APP.因此当页面须要获取手机内部某些信息时(比如:联系人信息,坐标定位.短信等),程序就须要调用 ...
- 【Android】Parse开发笔记(1)—— 准备
一.简介 Parse是由 YC 孵化出来的.专为移动应用提供后台服务的云计算平台,为开发者包办繁琐的后台服务,让开发者只需专注于具体的开发工作.它提供任意数据保存.照片或其它文件存储.发送推送通知.创 ...
- 英语学习app开发笔记
英语学习app开发笔记 按钮界面跳转功能 数据库实现存储功能 从raw中读取文件 将文件内容存入数据库 适配器Adapter 未搜索时将部分项目显示在界面上 搜索栏使用 搜索并将结果显示在listvi ...
- android手机APP开发入门心得
android手机APP开发心得 http://blog.csdn.net/fubin0000 首先安装好开发环境(这个过程网络上资料太多了,我相信你搜一搜搭建好环境应该是小菜一碟),然后就是在ecl ...
- Android音乐App开发准备( 简易音乐 二 )
Android音乐App开发准备( 简易音乐 二 ) 关于 效果: 编写Activity基类-BaseActivity 修改启动页 复用的标题栏 关于 第一篇看Android音乐App开发准备( ...
最新文章
- 中国交通标志识别,德国交通标志识别
- Linux基础知识(一)
- vxworks 实时操作系统
- The Web Audio autoplay policy will be re-enabled in 音频无法播放
- 把第三方jar包放入本地仓库
- 系统运维:收集6款经典的服务器监控工具
- Java计算时间差_传统的SimpleDateFormat类
- 域名是如何被墙的_如何快速搭建属于自己的个性网站?
- 一文教你使用java开发一款坦克大战游戏
- 方丹丹(1981-),女,就职于宁波市智慧城市规划标准发展研究院。
- 三大高通量测序平台芯片通量对比图(请把手机横过来看))
- cisco初级随堂笔记2
- spark学习-63-源代码:schedulerBackend和taskScheduler的创建(1)-local
- 在Nginx服务器上用Jenkins发布Vue/React代码的步骤
- java编程_Java最热常用编程软件分享
- OpenCV对图片的读写,像素值的访问,修改
- ghost方式批量安装win7
- 14_python_练习题——excel操作
- 深度学习 回声消除 AEC
- 如何制作运营高质量的竞价单页