Ubuntu下安装Android Studio_ubuntu安装android studio-程序员宅基地

技术标签: jdk  java  ubuntu  linux  android studio  

一、系统环境

系统环境
系统环境

二、安装源文件

Android Studio 3.2.0: android-studio-ide-181.5014246-linux.zip

 Java SE Development Kit: jdk-8u221-linux-x64.tar.gz 提取码:17xx

三、安装JDK

解压JDK:

sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt

配置环境变量:

sudo gedit /etc/profile

文末添加

#jdk path
export JAVA_HOME=/opt/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

同步:

source /etc/profile

测试jdk是否安装成功:

java -version

显示如下,表明安装成功:

四、安装Android Studio

解压压缩包到/opt:

 sudo unzip android-studio-ide-181.5014246-linux.zip -d /opt

更改 /opt/android-studio/bin/idea.porperties:

sudo gedit /opt/android-studio/bin/idea.properties

文末添加

disable.android.first.run=true

此操作防止第一次打开Android Studio时卡在”Fetching Android SDK component information” 。

更改/opt/android-studio/bin目录权限:

sudo chmod 777 /opt/android-studio/bin
ls -l

显示如下,表明权限修改成功:

配置android studio环境变量,以便在任何目录下打开android studio:

sudo gedit /etc/profile

文末添加

#android stdio
export ANDROID_HOME=/opt/android-studio/bin
export PATH=$PATH:$ANDROID_HOME

同步:

source /etc/profile

五、配置Android Studio

打开Android Studio:

studio.sh

点击Start a new Android Studio project:

点击Open SDK Manager,手动配置SDK:

点击Edit:

按ctrl+Alt+T打开一个新的terminal,输入

sudo mkdir -p /opt/sdk
sudo chmod -R 777 /opt/sdk

在Android Studio的SDK Setup中,设置Android SDK Location为/opt/sdk:

一路next,直到finish。

至此,Android Studio安装完毕。(以上参考了64位Ubuntu 16.04下安装Android Studio

以下创建首个项目。

配置如下:

一路Apply->OK->Accept->Finish。

点击Start a new Android Studio project:

一路next直到finish,Android Studio自动执行Sync Project with Gradle Files。

问题现象1:如果出现"Failed to find Build Tools revision 28.0.2":

解决方法1:点击Install Build Tools 28.0.2 and sync project

问题原因1:Ctrl+Alt+T打开terminal,进入sdk安装目录下的子目录build-tools,当前buildToolsVersion为30.0.2:

问题现象2:如果出现"Could not find any version that matches com.android.support:appcompat-v7:30.+."

解决方法2:

问题现象3:如果出现如下图的"Error configuring CMake server (/opt/sdk/cmake/3.10.2.4988404/bin)."

解决方法3:重新建立工程,将Project location指定为非共享文件夹即可。

问题原因3:Create New Project时,指定Project location为宿主机Windows与虚拟机Ubuntu的共享文件夹导致的,而Windows不支持Ubuntu的符号链接。

问题现象4:A problem occurred configuring project ':app'.

同时,打开File->Project Structure有"NDK does not contain any platforms".

解决方法4:在NDK位置下新建名为platforms的目录

gavin@gavin-vm:~$ cd /opt/sdk/ndk-bundle/
gavin@gavin-vm:/opt/sdk/ndk-bundle$ mkdir platforms

点击Try Again。

问题4的解决参考了

android studio中NDK配置出现:NDK does not contain any platforms

Gradle sync failed: A problem occurred configuring project ‘:app‘解决方法

问题现象5:Invalid revision: 3.18.1-g262b901

 解决方法5:

单击SDK Manager,

在SDK Manager中,卸载高版本,再下载个低版本CMake即可,比如3.10版本。

问题原因5:这个错误是由于CMake版本过高造成的。

问题5的解决参考了

【Android】【IDE】CMake报Invalid revision: 3.18.1-g262b901-dirty错误

问题现象6:手机USB连接计算机,手机显示充电,计算机检测不到手机。

解决方法6:换根USB数据线。

问题原因6:手机连接计算机的可能只是充电线,不是数据线。充电线只能充电不能传输数据,数据线是数据传输和充电两用。

问题现象7:系统检测到USB设备,但单击“Run"时,Android Studio未能检测到USB设备。

解决方法7:

在手机上按上图红框指示操作,重新Run即可。

问题现象8:ABIs [arm64-v8a, x86_64] are not supported for platform. Supported ABIs are [armeabi-v7a, x86].

解决方法8:

修改后abiFilters 'armeabi-v7a', 'x86'

问题8的解决参考了ABIs [armeabi] are not supported for platform 的解决

问题现象9:Unable to resolve dependency for ':app@debug/compileClasspath': Could not download google-webrtc.aar (org.webrtc:google-webrtc:1.0.32006)

解决方法9:

至此完毕。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_22948593/article/details/109957099

智能推荐

清除win7或win10系统垃圾文件2023.7.12_win7 professional版本 垃圾文件清理-程序员宅基地

文章浏览阅读102次。清除系统垃圾文件_win7 professional版本 垃圾文件清理

【驱动】网卡驱动·linux内核网络分层结构-程序员宅基地

文章浏览阅读133次。原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://liucw.blog.51cto.com/6751239/1221140Preface Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计。 Linux内核采用分层结构处理网络数据包。分层结构与网络协议的结构匹..._网卡驱动程序可以有内核实现 也可以有用户层实现的 但只能同时有一个接管网卡

SpringBoot整合Shiro-程序员宅基地

文章浏览阅读133次。最近做的项目整合了SpringBoot+Shiro,自己也不会,就就在网上现学现用,然后发现也有一篇满足的我需要的一篇完整帖子,所以有了这篇。废话少说。还是先上一张图,大概了解一下shiro框架,有理论有实践。对上图简单的进行说明三个核心组件:Subject, SecurityManager 和 Realms.Subject: 即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前

vue之elementUi的el-select同时获取value和label的两种方法_vue中elementui的el-select同时获取value和label-程序员宅基地

文章浏览阅读1.2k次。【代码】vue之elementUi的el-select同时获取value和label的两种方法。_vue中elementui的el-select同时获取value和label

仿真软件LTspice之《第三方spice模型导入方法》_ltspice怎么导入模型.cir-程序员宅基地

文章浏览阅读3.6w次,点赞16次,收藏99次。1. 将下载的spice模型(.lib文件)拷入C:\Program Files\LTC\LTspiceXVII\lib\sub;2. 打开LTspice软件,将上述.lib文件拖入软件中,此时文件以txt形式打开;3. 右键点击.subckt后的元件名称,然后点击create symbol,创建模型;4. 完成上述操作后,点component,搜索元件名称即可放置元件。_ltspice怎么导入模型.cir

6-5 xcu-sjjg-java-List-5 有序表的插入_6-14 xcu-sjjg-java-list-l6 循环单链表插入 (10 分)采用循环单链表做为-程序员宅基地

文章浏览阅读581次。6-5 xcu-sjjg-java-List-5 有序表的插入 (12 分)假定顺序表中元素值递增有序排序,编写方法,实现在有序表中插入一个新元素,使有序表保存有序性。函数接口定义:方法接口: void ins(int x )裁判测试程序样例:import java.util.Scanner; class Input { private static Scanner sc = new Scanner(System.in); static int inputI_6-14 xcu-sjjg-java-list-l6 循环单链表插入 (10 分)采用循环单链表做为线性表的

随便推点

ext4文件系统镜像制作教程_3519dv500 emmc 使用ext4格式的镜像制作-程序员宅基地

文章浏览阅读47次。ext4文件系统镜像制作教程 - 小蓝博客dd if=/dev/zero of=image.img bs=1M count=1024mkfs.ext4 image.imgmkdir ~/workmount -o loop image.img $HOME/work_3519dv500 emmc 使用ext4格式的镜像制作

大模型中的数据_大模型样本数据质量 csdn-程序员宅基地

文章浏览阅读70次。数据是基础大模型的生命线;这些模型的训练数据在很大程度上决定了这些模型可以获得哪些功能。数据的中心性并不是基础大模型所独有的;最近对以数据为中心的人工智能的呼吁表明了管理、理解和记录用于训练机器学习模型的数据的普遍重要性。具体而言,对于基础大模型,目前的做法是使用未指定或不明确的原则选择训练数据,并且训练数据的性质普遍缺乏透明度。我们认为,需要一种替代方法来重新构想围绕基础模型的数据生态系统:我们利用数据可视化和管理方面的工作,为基础模型提出一个数据中心。_大模型样本数据质量 csdn

Error parsing XML: junk after document element这样的错误_invalid roslaunch xml syntax: junk after document -程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏2次。很多开发者可能在编写XML布局文件时提示Error parsing XML: junk after document element这样的错误,这里Android123提示大家一般合法的XML文件只有一个主根节点,比如<android12..._invalid roslaunch xml syntax: junk after document element: line 29, column 0

linux系统时区、日期、时间的查看和修改_linux 获取时区时间差-程序员宅基地

文章浏览阅读3.4k次。修改时区$ sudo cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime#在中国可以使用:$ sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime查看日期和时间$ date -R #Fri, 09 Dec 2016 14:24:07 +0800$ date -R "+%Y-%m-%d %H:_linux 获取时区时间差

Throwable异常和处理异常的方案(try……catch……finally;throws)_try catch throwable-程序员宅基地

文章浏览阅读877次。Throwable异常的概念java程序出现了不正常的现象,异常主要分为两大类Exception和ErrorError表示非常严重的错误,一般情况下我们无法自己处理,那就不处理。Exception异常有两类,一类是RuntimeException,表示运行时期异常,这样的异常一般是由于代码逻辑不够严谨导致的,可以按照编译时期异常的处理方式去处理,另外一种是非RuntimeException异常,叫做编译时期异常,一定要处理,如果不处理,编译不通过,程序无法运行处理异常的方式1.try……_try catch throwable

编译器内置宏_printf("wrong parameters value: file %s on line %d-程序员宅基地

文章浏览阅读569次。编译器内置宏:先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。ANSI C标准中有几个标准预定义宏(也是常用的):__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:_printf("wrong parameters value: file %s on line %d\r\n", file, line)