热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android环境搭建,sdk配置、ndk配置、AndroidStudio使用、应用打包发布

目录一:Android开发介绍1.Android平台架构2.Android版本和当前情况二:开发环境搭建1.JDK的安装2.Android开发

目录

 

一:Android开发介绍

1.Android平台架构

2.Android版本和当前情况

二:开发环境搭建

1.JDK的安装

2.Android开发环境介绍

3.安装Android Studio(windows)

3.1下载AS(官网地址,下载比较慢)

3.2配置环境变量

三:AS创建/运行项目

四:Android Studio使用介绍

五:Hello world 项目详解

应用启动之后根据以上配置文件加载MainActivity类,作为应用第一个响应窗口

六:项目打包和上架




一:Android开发介绍


1.Android平台架构

           安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机,在2005年8月被Google收购,如今Android已经被广发用于手机、平板、数码相机、智能手表、智能家居、机器人、自动驾驶等


2.Android版本和当前情况

Android系统是由Andy Rubin创建的,后来被Google收购了;最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间!


系统版本名称API版本号发布时间
Android 1.5:Cupcake:纸杯蛋糕32009.4.30
Android 1.6:Donut:甜甜圈42009.9.15
Android 2.0/2.0.1/2.1:Eclair:松饼5/6/72009.10.26
Android 2.2/2.2.1:Froyo:冻酸奶82010.5.20
Android 2.3:Gingerbread:姜饼92010.12.7
Android 3.0:Honeycomb:蜂巢112011.2.2
Android 3.1:Honeycomb:蜂巢122011.5.11
Android 3.2:Honeycomb:蜂巢132011.7.13
Android 4.0:Ice Cream Sandwich:冰激凌三文治142011.10.19
Android 4.1:Jelly Bean:果冻豆162012.6.28
Android 4.2:Jelly Bean:果冻豆172012.10.30
Android 4.3:Jelly Bean:果冻豆182013.7.25
Android 4.4:KitKat:奇巧巧克力192013.11.01
Android 5.0:Lollipop:棒棒糖212014.10.16
Android M:预览版222015.5.28

二:开发环境搭建

说明:android开发最基本的是要配置jdk环境+sdk,就可以开发常见的app应用,但是如果涉及到加密算法、图像处理、机器视觉等需要大量计算的逻辑,可以在C/C++中实现;随意也要安装ndk环境。

我们先来安装jdk


1.JDK的安装

首先进入JDK下载页面,选择需要的版本下载安装。

JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

 比如我这里选择下载最新的版本 12.0.1,选择系统版本,我这里是Windows,下载之后一路安装即可。

配置JAVA环境变量

右键 “此电脑”, 选择 “属性” - > “高级” - > “环境变量”,在系统环境变量里添加一个JAVA_HOME变量,输入JDK安装目录。

找到并双击编辑Path环境变量,弹出环境变量编辑框。

添加JDK的路径,如下图所示。

 添加类路径环境变量,如下添加一个CLASSPATH,内容如下图所示。

测试JAVA安装

 打开CMD终端,输入以下命令,如果能看到JAVA版本信息就说明安装成功了。

java -version


 


2.Android开发环境介绍

安装好jdk之后,接下来就安装sdk。sdk就类似jdk是一些开发工具包,但是真正写代码的工具还要另外安装,现在主流的Android开发环境有:

①Eclipse + ADT + SDK

②Android Studio + SDK

③IntelliJ IDEA + SDK

现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到Android Studio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲Android Studio着手;并且AS继承了了IDEA的所有功能,专门用来开发Android而且很多优秀的开源项目都是基于Android Studio!

部分开发常见术语:


3.安装Android Studio(windows)

安装Android Studio之前先说下这里为什么没有安装sdk就直接安装AS呢?或者AS和SDK有什么关系呢?SDK就类似jdk是开发工具包,AS类似Eclipse是开发的工具。关于sdk安装有两种方式,第一种是先直接安装SDK,也就是网上文章中所描述的下载SDK Manager,启动SDK Manager等。然后再下载开发工具AS,在AS中配置之前安装好的sdk。第二种是在安装AS的同时安装SDK,这里就采用第二种。


3.1下载AS(官网地址,下载比较慢)

https://developer.android.google.cn/studio

国内下载社区地址

https://www.androiddevtools.cn/

说明:选择适合自己电脑的版本,网站提供了exe和zip格式的两种安装文件,exe安装基本就是一路下一步,安装之后和zip解压后的文件一样,这里下载的是zip格式的文件

解压到指定的路径,打开bin目录下的studio64启动程序,第一次打开如下提示是否导入已有的配置,我们不需要

提示无法找到sdk位置列表,我们直接cancel

我们选择标准的安装模式,standard是官网将最常见的组件设置推荐给我们,第二种是根据自己需求安装组件和设置

 

 

等待下载即可

 


3.2配置环境变量

上面我们在Android studio的时候已经自动安装了sdk,在sdk中有许多的命令,我命将其配置到环境变量中,以后全局使用

点击我的电脑-右键属性-高级系统配置-高级-环境变量

新建系统变量

找到系统变量中的path新建以下两个

#adb命令 可以安装apk 查看连接设备

%ANDROID_SDK_HOME%\platform-tools

#这个是最常用的emulator 可以用此创建模拟器

%ANDROID_SDK_HOME%\tools

注意:我这里没有使用到ndk-boudle  所以没有配置,如果有需要再新建以下

%ANDROID_SDK_HOME%\ndk-boudle

 

打开cmd测试,如下设置成功


三:AS创建/运行项目

前面搭建好了开发环境,下面介绍一下Android Studio的基本使用

创建新项目

 

 

项目创建完成

如何运行项目

一般Android开发项目都是运行在模拟器上查看效果,这里我们点击工具栏中的run按钮,如图让你运行在某个模拟器或者真实手机,这里没有模拟器,我们创建一个模拟器

选择Open AVD Manager

如下图,选择一个模拟器设备,这里没有固定选项

接着选择系统镜像,类似win10系统镜像,不同的是模拟器需要选择cpu平台,一般的项目选择32位的cpu即可,并且不是海外的项目,可以选择没有Googel api的镜像

下载完成之后点击finfish,选中刚才下载的点击next,进入预览页面

然后运行项目

运行结果如下

 

错误提示:

 

如果运行结果出现以下错误

Emulator: emulator: ERROR: Unknown AVD name [Nexus_5_API_29], use -list-avds to see valid list.
Emulator: Process finished with exit code 1

解决方法:

AS内创建的AVD默认安装在C:\Users\Administrator\.android\avd
将C盘中的avd文件夹复制到环境变量ANDROID_SDK_HOME所指向的文件夹内,AVD成功启动。
我的sdk目录D:\Sdk

 


四:Android Studio使用介绍

Android Studio集成开发环境布局介绍

 

外观主体和字体设置

点击菜单栏中的file->settings

 

编译器主体和字体设置

点击菜单栏中的file->settings

 

如何确认是否需要配置代理

AS的大部分依赖都是从dl.google.com下载,这个网址只有科学上网才可以访问,

我们通过ping命令,如果可以ping通,那就不需要配置代理,发生错误或者丢包,说明需要配置代理

如果不能访问上面的网址,我们也可以可以配置DNS

不同系统配置dns的方法都不相同,可以自行百度

AS配置代理

网上有许多的代理厂商,自己可以百度一个,有免费的也有付费的,AS中配置的位置如图

 


五:Hello world 项目详解

我们使用AS创建好hello项目并运行之后,首先加载AndroidManifest.xml配置文件



应用启动之后根据以上配置文件加载MainActivity类,作为应用第一个响应窗口

//定义一个窗口启动类继承AppCompatActivity(类似myFrame extends Frame)
public class MainActivity extends AppCompatActivity {//类似java启动类中的main方法@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//R中定义了res目录中资源相对应的资源id,通过r.类别名.资源名操作对应的资源,通过此方法装载布局文件到窗口setContentView(R.layout.activity_main);}
}

六:项目打包和上架

1.更改软件名称

默认软件发布之后跟项目是同一个名称,我们只需在清单文件mainifest.xml中修改lable标签所对应的文字

2.更改软件图标

只需修改清单文件mainifest.xml中icon中的图标文件即可

图标适配的问题

3.如何创建签名

app开发完成之后,打包发布的时候涉及到签名,就是给我们的应用添加一个签名,这样通过签名就可以找到app是哪个公司开发的,只有签名的app才可以发布到市场,没有签名的app是不能被发布的,google提供了一个用于测试的调试签名。签名也会涉及到很多算法,我们通过这个签名文件或者创建一个签名文件对APK进行签名。

我们可以通过命令行进行创建签名也可以通过android studio 进行签名,也就是说创建一个签名文件有多种方式。这里用Android stuidio可视化进行创建

选择打包类型

第一个是新生出来的用于google play,我们选择第二个apk——next

签名只需创建一次,多个应用可以共用一个签名,也可以使用多个,一个签名文件中可以放多个签名

点击ok

可以看到项目在release中生成了一个apk文件,将这个apk文件分享安装或者上传到软件市场

注意:打包过程发生lintVitaRealease错误,在当前项目的build.gradle文件添加

 4.如何上传到360市场、小米、应用宝等(这里以360为例)

进入官网http://dev.360.cn/

注册登录——进入管理中心——应用列表——创建软件

根据介绍上传即可

最后说明一点:这里没有介绍ndk相关配置,可以查看系列文章JNI和ndK开发

有问题可以关注公众号:java一号 

文章原文地址:www.javayihao.top


推荐阅读
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 在尝试为 Unity 编译一个简单的 Java 库时,运行 `ant jar` 命令后遇到了 Java I/O 异常。具体错误信息为“无法启动程序 ${aAPT},错误代码 2”,这通常表示指定的文件或目录不存在。此问题可能是由于环境配置不正确或路径设置有误导致的。建议检查相关路径和环境变量,确保所有依赖项都已正确安装和配置。 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • Android Studio 安装指南:详细步骤与常见问题解答
    Android Studio 安装指南:详细步骤与常见问题解答 ... [详细]
  • PostgreSQL 与 MySQL 的主要差异及应用场景分析
    本文详细探讨了 PostgreSQL 和 MySQL 在架构、性能、功能以及适用场景方面的关键差异。通过对比分析,帮助读者更好地理解两种数据库系统的特性和优势,为实际应用中的选择提供参考。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 深入浅析JVM垃圾回收机制与收集器概述
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》的阅读心得进行整理,详细探讨了JVM的垃圾回收机制及其各类收集器的特点与应用场景。通过分析不同垃圾收集器的工作原理和性能表现,帮助读者深入了解JVM内存管理的核心技术,为优化Java应用程序提供实用指导。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 在处理大图片时,PHP 常常会遇到内存溢出的问题。为了避免这种情况,建议避免使用 `setImageBitmap`、`setImageResource` 或 `BitmapFactory.decodeResource` 等方法直接加载大图。这些函数在处理大图片时会消耗大量内存,导致应用崩溃。推荐采用分块处理、图像压缩和缓存机制等策略,以优化内存使用并提高处理效率。此外,可以考虑使用第三方库如 ImageMagick 或 GD 库来处理大图片,这些库提供了更高效的内存管理和图像处理功能。 ... [详细]
author-avatar
Aircraftl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有