Ubuntu下安装Android Studio_GavinXu89的博客-程序员秘密_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的目录

[email protected]:~$ cd /opt/sdk/ndk-bundle/
[email protected]:/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 ':[email protected]/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

智能推荐

ctype.h——使用测试字符函数_weixin_33979745的博客-程序员秘密

islower() 是否为小写字母isupper() 是否为大写字母isalpha() 是否为字母isalnum() 是否为字母或十进制数字iscntrl() 是否为控制...

Silverlight处理数据绑定的字符串_weixin_30932215的博客-程序员秘密

  今天做Silverlight显示数据的时候,前台DataGrid 做数据绑定显示的时候,需要把数据中的换行去掉,这里根据以前对图片处理的类,构造了一个处理换行的类。  类代码: 引用接口IValueConverter  using System;  using System.Windows.Data;  namespace 命名空间  {    public cla...

python list列表分组_list python group_Nero_G的博客-程序员秘密

Python: group list items in a dict将一个list中的dict 按某个key分组,生成dict:input_list = [ {'a':'tata', 'b': 'foo'}, {'a':'pipo', 'b': 'titi'}, {'a':'pipo', 'b': 'toto'},

黑马程序员————C语言指针_bluedevils99的博客-程序员秘密

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------1,指针简介    指针是C语言中非常重要的一种数据类型。学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。2,指针定义    对指针变量的定义包括三个内容:(1)指针类型说明,即定义变量为一个指针变量;(2)指针变量名;

img src 动态拼接域名+变量_前端wa的博客-程序员秘密

一开始这样写,觉得没毛病,可是图片怎么都不显示 ,这个链接拼接出来的字符串再网页里也可以正确打开图片如果你也出现这种情况,再域名前天添加http:// 就可以了...

随便推点

【解决方案】智慧煤矿:加速智能化布局,AI助力煤炭产业转型升级_智慧煤矿解决方案_TSINGSEE的博客-程序员秘密

互联网、物联网、人工智能等新兴技术高速发展,为传统行业带来颠覆性变革,将高新技术与传统技术装备、管理相融合,实现产业转型升级已经成为煤矿行业发展趋势。

面向服务的体系架构(SOA)_Andy Chen 陈郑游的博客-程序员秘密

面向服务的体系架构(SOA)—架构篇1、面向服务的体系架构(SOA)     面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概念。2002年的l2月,Gartner提出“面向服务的架构(SOA)”是“现代应用开发领域最重要的课题”之后。国内外计算机专家、学者掀起了对SOA的积极研究与

LabVIEW使用G#框架实现面向对象编程_vilib:g#object_LEOKINGKING的博客-程序员秘密

软件程序应该可重复使用,具有灵活性和扩展性。面向对象编程(Object Oriented Programming,OOP)可以让程序具有这些特点。面向对象程序设计把客观世界中的实体抽象为对象,以对象为核心,定义了类,数据抽象,继承,动态绑定,数据封装,多态性,消息传递等。类是客观世界的抽象,具有静态属性的数据和对数据的操作,对象是类的实体化,对象之间通过消息实现通讯。对象是组成程序的基本模块。“天...

缓存的作用_kingfullsoyo的博客-程序员秘密

缓存的作用什么是缓存?缓存就是用来避免频繁的到数据库或磁盘文件获取数据而建立的一个快速临时存储器。一般来说,缓存比数据库或磁盘容量更小,但是存取速度非常快。一般来说,内存是当前技术下最廉价且有效的缓存介质。内存价格低廉,但是存取速度是一般磁盘IO无法比拟的。缓存的作用缓存一般用来1、存储频繁访问的数据2、临时存储耗时的计算结果3、内存缓存减少磁盘IO

Android open source TextView中的文本自动对齐_Air Field的博客-程序员秘密

Android open source TextView中的文本自动对齐Android open source:justifytexthttps://github.com/ufo22940268/android-justifiedtextview引用compile 'me.biubiubiu.justifytext:library:1.1'布局<me.biubiubiu

41.缺失的第一个正数_念殊15的博客-程序员秘密

1.题目2.解法class Solution { public int firstMissingPositive(int[] nums) { int len = nums.length; // 先提前确定是否有1 int count = 0; for (int i = 0 ; i &lt; len ; i++) ...

推荐文章

热门文章

相关标签