Ⅰ 如何在linux下配置androidStudio开发环境
1.选择linux系统
个人比较推荐国产的UbuntuKylin,目前最新的系统已经更新到16.04了,这个系统集合了原生Ubuntu系统的优点,有具有中国特色,比较适合国人使用。还有一个国产系统比较推荐,就是deepin,目前已经跟新到15.1.1,这个系统界面真心不错。
这两个系统都内嵌了使用人群基数最大的搜狗输入法,解决了最基本的文字输入问题,qq和微信都能使用,解决了基本沟通问题。废话不多说,首先看一下怎么制作linux系统U盘启动盘。deepin可以使用官方系统文件deepin-boot-maker-1.0.exe制作,具体教程请自行网络,这里不在赘述。
这里主要以UbuntuKylin系统为例子(这里下载:64位,32位,给大家介绍一下如何在linux下配置Android Studio。
系统文件.iso下载完毕以后,下载u盘制作工具Rufus进行制作(下载Rufus),这个工具比较推荐,本人使用其他u盘制作工具,一直没安装成功,最后使用Rufus(制作过程中,会提示要下载两个小文件,同意即可)终于完美解决。界面比较简单,具体操作流程软件打开以后一目了然,不细说。
2.安装jdk及配置环境变量
jdk当然要安装linux版本的(这里选用1.7版本的),下载完毕,进行解压,然后配置环境变量,打开终端或者使用快捷键ctrl+alt+T,输入一下命令:
$sudo gedit ~/.bashrc
在打开的文件末尾添加以下代码:
java_HOME=/usr/lib/jvm/jdk1.7.0_79
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
PATH=${JAVA_HOME}/bin:$PATH
到此为止,jdk的环境变量就配置完毕了
3.安装Android Studio
下载android studio 2.0,这个版本不带sdk,所以安装完毕后,需要在android的studio中下载sdk。文件下载完成后,可以看到是一个.zip文件,直接解压提取文件,然后在/android-studio/bin中可以看到有一个文件叫做“studio.sh”,这个文件就是android studio的可执行文件,相当于windows中的.exe文件。但是默认是不能直接执行的,所以需要在/android-studio/bin目录下打开终端,输入以下命令,执行.sh文件:
sh studio.sh
耐心等待几秒钟后,就会看到android studio熟悉的安装界面,按照步骤一步一步执行,就能完成android studio的安装,然后像在windows平台一样安装sdk,不再废话。
4.安装Genymotion和virtualbox
android studio安装完毕以后,如果能有一个android模拟器像windows下的Genymotion一样就好了。幸运的是,在Genymotion真的有了linux版本。点此下载Genymotion
下载完毕后,大家发现是一个.bin文件,是不能直接打开运行的,这时候需要在下载目录中打开终端输入一下命令
chmod +x genymotion-2.6.0-ubuntu15_x64.bin
接着用下面的命令执行即可:
./genymotion-2.6.0-ubuntu15_x64.bin
如果电脑里边没有安装virtualbox,Genymotion是不能成功运行的,所以在运行Genymotion之前需要安装virtualbox,virtualbox下载完毕后,发现这是一个.deb文件,如果电脑安装了Ubuntu Software,可以双击直接运行,否则,需要打开终端输入一下命令进行安装:
sudo dpkg -i virtualbox-5.0_5.0.18-106667~Ubuntu~xenial_amd64.deb
安装完成后,就可以正常使用Genymotion了。
到这里,在linux下配置Android Studio开发环境已经结束,可以享受愉快地开发过程了。
Ⅱ ubuntu下如何给android虚拟机安装apk软件
ubuntu下给android
虚拟机
安装apk软件
前段时间在window下做
android开发
,可以用adb命令给android虚拟机安装apk软件,
这段时间转到了linux下来,我用的是ubuntu,搭建好android开发环境的之后,我开始给
android虚拟机安装一些常用的软件,比如
文件浏览器
什么的。
首先打开终端,cd到android
SDK所在的目录下,然后进入platform-tools文件夹,ls显示
文件后,你会发现有个名为adb的可执行文件,就是用这个adb命令来为android虚拟机安装
apk软件的。
特别说明,我看见网上说的关于在linux下给android虚拟机安装apk软件的做法都不怎么适合我,
adb可执行文件根本不在android
SDK/tools/
目录下,而是在android
SDK/platform-tools/目录下。
Ⅲ 如何搭建开发环境
android开发环境目前主流有两种,一是eclipse+ADT+SDK,另外一种是Google官方指定的开发环境 Android Studio。不管哪种必须先安装JDK 并配置好环境变量,这是首要前提。
一、 搭建eclipse+ADT+SDK的开发环境。
首先下载eclipse EE版本,ADT 插件和 android SDK (注意ADT和SDK可能版本冲突,如果发生冲突换掉SDK 或ADT)。打开eclipse点help菜单下的Install New Softwaver,点击add在弹出的对话框中 name里随意指定一个名字location里指定你下载的ADT文件,或在线安装ADT地址,OK。勾选下面新出现的内容。
重启eclipseOK
二、安装Android Studio
AndroidStudio 配置比较简单,先安装好JDK 并在环境变量中添加JAVA_HOME变量指向JDK根目录。再安装AndroidStudio。安装好后即可打开使用。(必须添加JAVA_HOME变量)
Ⅳ 如何在Ubuntu下搭建Android NDK开发环境
需要的工具
Android SDK;
NDK开发包;
开发环境配置步骤
搭建Android SDK开发环境,安装下载需要的Android SDK,设置好开发的环境;
Ⅳ android studio linux 怎么安装
1、下载JDK ,我下载的是jdk-7u51-linux-i586.tar.gz我这里有jvm文件夹,直接cd过去:
$ cd /usr/lib/jvm/
拷贝下载的jdk-7u51-linux-i586.tar.gz到jvm文件夹:
$ sudo cp ~/下载/jdk-7u51-linux-i586.tar.gz /usr/lib/jvm
解压:
$ sudo tar -zxvf jdk-7u51-linux-i586.tar.gz
设置环境变量:
$ sudo gedit /etc/profile
在文档结尾追加:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
将系统默认的java修改过来:
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
检测一下,输入:
Ⅵ 如何在Ubuntu下配置Android开发环境
1.安装Eclipse和Android SDK/PhoneGap所需软件包:
打开终端,输入下面命令完成题目所述过程:
sudo apt-get install openjdk-6-jdk eclipse ruby rubygems ruby-dev libnokogiri-ruby git ant libxml2 libxml2-dev libxslt1-dev
若是64位,还需要安装下面两个软件包:
sudo apt-get install lib32stdc++6 ia32-libs
2.安装Android SDK
打开网络浏览器,输入地址http://developer.android.com/sdk/index.html,下载所需的平台(Win,Mac,Linux)的Android SDK版本。我们选择Linux(i386)即可(32位和64位平台皆适用)。或者,用下面命令下载并解压文件包:
cd ~ wget http://dl.google.com/android/android-sdk_r11-linux_x86.tgz tar xvfz android-sdk_r11-linux_x86.tgz
由上述命令,我们可得到文件目录 android-sdk-linux_x86 ,现在我们要将$HOME/android-sdk-linux_x86/tools 目录 和 $HOME/android-sdk-linux_x86/platform-tools 目录添加到PATH 路径变量中去:
打开 ~/.profile文件
gedit ~/.profile
添加下面一行内容到该文件末尾:
[...]
PATH="$HOME/android-sdk-linux_x86/tools:$HOME/android-sdk-linux_x86/platform-tools:$PATH"
然后,运行下面命令将上述改动生效:
export
PATH="$HOME/android-sdk-linux_x86/tools:$HOME/android-sdk-linux_x86/platform-tools:$PATH"
现在,启动 Android SDK:
android
下图就是Android SDK所示:
接下来,选择左侧的“ Available packages ”,后选择右侧栏内的“ Android Repository”,选中所有“ Android Repository”组内的软件包,点击“安装所选软件包”即可。接下来选择“接受”,继续安装完毕即可。
若提示“ADB需要重启”时,我们选择“Yes”,重启ADB。
下载完毕后,点击“close”,关闭对话框。
3.移植Android SDK到Eclipse
若是你用Eclipse创建Android应用,而非命令行下,则我们需要将移植Android SDK到Eclipse。
首先,从“Applications > Programming > Eclipse”,启动Eclipse。
这样,Ubuntu Linux系统的Android开发环境就安装配置好了,可以开始在Linux下进行Android应用开发了。
Ⅶ 搭建android开发环境的系统有哪些
android的开发环境的话,现在直接使用android studio,可以省去以前很多的步骤。前提是配置好jdk
Ⅷ linux系统下如何安装android sdk
一、下载android sdk
下载SDK,下载地址:http://developer.android.com/sdk/index.html,选择Linux(i386)。因为SDK只有32位的,如果装的是64位系统,则要安装ia32-libs,运行32位程序。
ubuntu安装命令:sudo apt-get install ia32-libs(在Ubuntu中的命令)。
centos安装命令:
yum install glibc.i686
下载完成后解压,在终端进入到SDK的根目录,然后执行:tools/android update sdk –no-ui即可开始和windows里面一样的更新。
二、配置环境变量
更新完成后配置环境变量。使用命令 vi /etc/profile 编辑文件profile,然后在下面增加下面内容:
export ANDROID_HOME=/opt/softwaretools/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
/opt/softwaretools/android-sdk-linux为SDK的根目录。
这个配置之后,以后要执行android里面的命令,就不是需要进到这个目录,直接可以在终端里面输入。
修改完成后,使用命令 :wq! 保存关闭文件,再执行命令 source /etc/profile 使配置生效一下。
在终端输入:android,如果Android SDK Manager窗口出来了,就证明环境配置成功。
三、配置AVD
1、进入$SDK_HOME/toos目录
2、命令窗口运行:./android avd
Ⅸ 如何搭建 android 开发环境
一.认识android的架构
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。
android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
二.搭建环境
搭建开发环境
对国内的开发者来说最痛苦的是无法去访问android开发网站。为了更好的认识世界,对程序员来说,会翻墙也是的一门技术,带你去领略墙外的世界,好了,不废话了, 国内开发者访问(androiddevtools) 上面已经有了所有你要的资源,同时可以下载到我们的主角framework
但是这样的搭建只能去阅读源代码,我们无法去更进一步去实现自己的rom,我们看到锤子的系统在早期的开放rom是自己从新实现了framework的代码,现在看起来他成功了,所以我们还要去搭建android系统的源码编译环境。
搭建源码编译环境
三.开始主题
在一开始写c程序的时候都有一个运行的入口,比如
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
//这里的main就是应用的入口
int main(int argc, const char * argv[]){
return 0;
}
在计算机网络原理中我们用socket实现一个服务器端,不断的接听客户端的访问,而且他的代码是这样实现的:
#include <winsock2.h>
#pragma comment(lib, "WS2_32.lib")
#include <stdio.h>
void main()
{
WORD wVersionRequested;//版本号
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 2);//2.2版本的套接字
//加载套接字库,如果失败返回
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
return;
}
//判断高低字节是不是2,如果不是2.2的版本则退出
if (LOBYTE(wsaData.wVersion) != 2 ||
HIBYTE(wsaData.wVersion) != 2)
{
return;
}
//创建流式套接字,基于TCP(SOCK_STREAM)
SOCKET socSrv = socket(AF_INET, SOCK_STREAM, 0);
//Socket地址结构体的创建
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//转换Unsigned long型为网络字节序格
addrSrv.sin_family = AF_INET;//指定地址簇
addrSrv.sin_port = htons(6000);
//指定端口号,除sin_family参数外,其它参数都是网络字节序,因此需要转换
//将套接字绑定到一个端口号和本地地址上
bind(socSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//必须用sizeof,strlen不行
listen(socSrv, 5);
SOCKADDR_IN addrClient;//字义用来接收客户端Socket的结构体
int len = sizeof(SOCKADDR);//初始化参数,这个参数必须进行初始化,sizeof
//循环等待接受客户端发送请求
while (1)
{
//等待客户请求到来;当请求到来后,接受连接请求,
//返回一个新的对应于此次连接的套接字(accept)。
//此时程序在此发生阻塞
SOCKET sockConn = accept(socSrv, (SOCKADDR*)&addrClient, &len);
char sendBuf[100];
sprintf(sendBuf, "Welcome %s to JoyChou",
inet_ntoa(addrClient.sin_addr));//格式化输出
//用返回的套接字和客户端进行通信
send(sockConn, sendBuf, strlen(sendBuf)+1, 0);//多发送一个字节
//接收数据
char recvBuf[100];
recv(sockConn, recvBuf, 100, 0);
printf("%s\\n", recvBuf);
closesocket(sockConn);
}
}
他采用了一个while死循环去监听客户端的请求。
先上源代码
public final class ActivityThread {
public static void main(String[] args) {
SamplingProfilerIntegration.start();
CloseGuard.setEnabled(false);
Environment.initForCurrentUser();
EventLogger.setReporter(new EventLoggingReporter());
Security.addProvider(new AndroidKeyStoreProvider());
final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
TrustedCertificateStore.setDefaultUserDirectory(configDir);
Process.setArgV0("<pre-initialized>");
Looper.prepareMainLooper();
//从中可以看到为app开辟了一个线程进入了looper之中
ActivityThread thread = new ActivityThread();
thread.attach(false);
if (sMainThreadHandler == null) {
sMainThreadHandler = thread.getHandler();
}
AsyncTask.init();
if (false) {
Looper.myLooper().setMessageLogging(new
LogPrinter(Log.DEBUG, "ActivityThread"));
}
Looper.loop();
throw new RuntimeException("Main thread loop unexpectedly exited");
}
}
看到源码失望了,没有一个while循环啊,其实用了他方法实现
//用一个looper的机制循环监听响应
Looper.prepareMainLooper();
Looper.loop();
进一步深入代码
public static void loop() {
final Looper me = myLooper();
if (me == null) {
throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread.");
}
final MessageQueue queue = me.mQueue;
Binder.clearCallingIdentity();
final long ident = Binder.clearCallingIdentity();
// 在这里看到了一个循环监听消息
for (;;) {
Message msg = queue.next(); // might block
if (msg == null) {
// No message indicates that the message queue is quitting.
return;
}
Printer logging = me.mLogging;
if (logging != null) {
logging.println(">>>>> Dispatching to " + msg.target + " " +
msg.callback + ": " + msg.what);
}
msg.target.dispatchMessage(msg);
if (logging != null) {
logging.println("<<<<< Finished to " + msg.target + " " + msg.callback);
}
// Make sure that ring the course of dispatching the
// identity of the thread wasn't corrupted.
final long newIdent = Binder.clearCallingIdentity();
if (ident != newIdent) {
Log.wtf(TAG, "Thread identity changed from 0x"
+ Long.toHexString(ident) + " to 0x"
+ Long.toHexString(newIdent) + " while dispatching to "
+ msg.target.getClass().getName() + " "
+ msg.callback + " what=" + msg.what);
}
msg.recycleUnchecked();
}
}