android studio怎么运行程序

android studio怎么运行程序,第1张

使用一根 USB 电缆将您的设备连接到您的开发机器。 如果您是在 Windows 上开发,可能需要为您的设备安装相应的 USB 驱动程序。如需帮助安装驱动程序,请参阅原始设备制造商 (OEM)USB 驱动程序文档。

转到Settings > Developer options,在您的设备上启用 USB debugging。

注:在 Android 42 及更新版本的设备上,Developeroptions 默认处于隐藏状态。如需将其显示出来,请转到Settings > About phone并点按 Build number七次。返回上一屏幕即可找到 Developer options。

从 Android Studio 中运行应用,如下所示:

在Android Studio 中,选择您的项目,然后点击工具栏中的 Run  。

在 Select Deployment Target 窗口中,选择您的设备,然后点击OK。

Android Studio 会在您连接的设备上安装并启动应用。

在模拟器上运行您的应用

在模拟器上运行您的应用之前,需要创建一个Android Virtual Device (AVD)定义。AVD 定义可用于定义您想要在Android Emulator 中模拟的 Android电话、平板电脑、Android Wear 或 Android TV 设备的特征。

创建 AVD 定义,如下所示:

通过选择Tools > Android > AVD Manager,或点击工具栏中AVD Manager 图标,启动 Android Virtual Device Manager 。

在 Your Virtual Devices 屏幕中,点击 Create Virtual Device。

在 Select Hardware 屏幕中,选择电话设备(如 Nexus 6),然后点击Next。

在 System Image 屏幕中,选择 AVD 所需的系统映像,然后点击Next。

如果未安装特定的系统映像,则可通过点击Download 链接获取它。

验证配置设置(对于您的第一个AVD,请将所有设置保持原样),然后点击 Finish。

如需了解有关使用AVD 的详细信息,请参阅创建和管理虚拟设备。

从 Android Studio 中运行应用,如下所示:

在Android Studio 中,选择您的项目,然后点击工具栏中的 Run 。

在 Select Deployment Target 窗口中,选择您的模拟器,然后点击OK。

模拟器可能需要几分钟时间完成启动。您可能需要将屏幕解锁。解锁后,模拟器屏幕上会出现 My First App。

不知道你用的是什么开发工具

1 如果是Eclipse的话 打开Eclipse软件 在屏幕左侧找到 Package Explorer

2 可以选择在空白处右击--new--Android Application(你得在Eclipse上装有Android的jar包)

3 在Application Name输入项目名称(最好是英文,可大写)后面的包名和布局文件名它会自动生成 sdk的话没什么要求 只要你有就行

4 Next-- 不用管 接着Next---

5 在Configure Launcher lcon界面点击Browse选择你创建的Android项目的图标

6 之后点击Next--Next- 在Blank Activity界面可以修改主Activity和布局文件的名称

7 Finish

这样 一个基本的Android项目就创建完成了 你就可以在你创建的MainActivity里写入你想写的东西啦

当然Android Studio 的创建步骤也差不多

主要通过以下几个步骤:

1、手机通过数据线连接在电脑上

2、设置android手机为USB调试模式。步骤:menu—

3、如果是window系统,系统会提示安装驱动:

选择正确的androidsdk安装目录,然后点击下一步,系统就开始安装驱动了

4、驱动安装完成之后,重启电脑(通常系统会有“安装新驱动,重启才能生效”的提示),这但应该明白吧

5、重复第1步和第2步,打开命令窗口,检测手机设备是否已经被识别,如下所示:

“device”就是检测到得手机设备

6、接下来就开始在eclipse上调试android程序了,右击android工程-

7、选中手机设备,点击OK之后,程序就开始在真机上安装了,控制台输出如下信息:

[2011-04-0722:24:49-HelloWorld]UploadingHelloWorldapkontodevice‘′

[2011-04-0722:24:49-HelloWorld]InstallingHelloWorldapk

[2011-04-0722:24:53-HelloWorld]Suess!

[2011-04-0722:24:53-HelloWorld]Startingactivitycomeightqiuactivityondevice

[2011-04-0722:24:57-HelloWorld]:Starting:Intent{act=androidintentactionMAINcat=[androidintentcategoryLAUNCHER]cmp=comeightqiuactivity/}

8设置应用程序为调试模式。 *** 作:编辑xml增加调试参数android:debuggable="true",如下:

9执行真机调试 *** 作:ECLIPSE调试对话框中,Target窗口中选择Manual,点击debug按钮,选择真机设备,开始调试。

注:不管是否启用ECLIPSE环境,任何Android软件只要在真机上运行发生异常,都可以在命令行窗口下查看具体异常信息:

执行:/adblogcat可以查看到更多的系统异常消息。在这些消息中要注意查看Causedby:打头的行,这些行指明了在哪行代码出的错误

10、运行这个应用程序,这样就可以使用手机来测试了

通常来说,一个android应用程序不止一个Activity(活动),更不止一个界面。于是需要创建多个Activity来满足应用程序的要求,这里我将告诉大家如何添加新的Activity,并实现Activity之间的切换,这里的两个活动以不同界面展示,活动的切换相当于界面的切换。AndroidstudioAndroid手机或者安卓模拟器首先创建一个Test项目工程,选择默认版式,选择好自己喜欢的主题(Theme)。Androidstudio教程:[6]创建多个Activity在文件管理器中找到layout下的xml文件,并将其复制粘贴一份到layout目录下,命名为second_activityxml。Androidstudio教程:[6]创建多个Activity接下来在java文件处新建一个javaclass,命名为SecondActivity。Androidstudio教程:[6]创建多个ActivityAndroidstudio教程:[6]创建多个Activity此时可以看到文件目录中多出来一个xml文件和一个java类文件。Androidstudio教程:[6]创建多个Activity打开AndroidManifestxml文件,添加一个标签,添加内容如下:Androidstudio教程:[6]创建多个Activity修改SecondActivityxml:Androidstudio教程:[6]创建多个Activity修改SecondActivityjava文件:publicclassSecondActivityextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){superonCreate(savedInstanceState);setContentView(RlayoutSecondActivity);}}Androidstudio教程:[6]创建多个Activity修改主界面的activity_myxml文件,添加一个按钮,用于跳转Activity:Androidstudio教程:[6]创建多个Activity在主界面的java类中实现按钮的点击事件响应函数onClick,通过startActivity函数打开新的ActivitypublicvoidonClick(Viewview){startActivity(newIntent("comlitreilySecondActivity"));}Androidstudio教程:[6]创建多个Activity设置采用模拟器打开App,并启动调试打开模拟器。Androidstudio教程:[6]创建多个Activity在模拟器中运行程序,点击按钮可以切换Activity,在第二个界面点击返回键可以返回主界面。Androidstudio教程:[6]创建多个ActivityAndroidstudio教程:[6]创建多个Activity注意事项xml文件的命名为小写字母或者数字,大写字母可能会报错

一认识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 <winsock2h>

#pragma comment(lib, "WS2_32lib")

#include <stdioh>

void main()

{

WORD wVersionRequested;//版本号

WSADATA wsaData;

int err;

wVersionRequested = MAKEWORD(2, 2);//22版本的套接字

//加载套接字库,如果失败返回

err = WSAStartup(wVersionRequested, &wsaData);

if (err != 0)

{

return;

}

//判断高低字节是不是2,如果不是22的版本则退出

if (LOBYTE(wsaDatawVersion) != 2 ||

HIBYTE(wsaDatawVersion) != 2)

{

return;

}

//创建流式套接字,基于TCP(SOCK_STREAM)

SOCKET socSrv = socket(AF_INET, SOCK_STREAM, 0);

//Socket地址结构体的创建

SOCKADDR_IN addrSrv;

addrSrvsin_addrS_unS_addr = htonl(INADDR_ANY);//转换Unsigned long型为网络字节序格

addrSrvsin_family = AF_INET;//指定地址簇

addrSrvsin_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(addrClientsin_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) {

SamplingProfilerIntegrationstart();

CloseGuardsetEnabled(false);

EnvironmentinitForCurrentUser();

EventLoggersetReporter(new EventLoggingReporter());

SecurityaddProvider(new AndroidKeyStoreProvider());

final File configDir = EnvironmentgetUserConfigDirectory(UserHandlemyUserId());

TrustedCertificateStoresetDefaultUserDirectory(configDir);

ProcesssetArgV0("<pre-initialized>");

LooperprepareMainLooper();

//从中可以看到为app开辟了一个线程进入了looper之中

ActivityThread thread = new ActivityThread();

threadattach(false);

if (sMainThreadHandler == null) {

sMainThreadHandler = threadgetHandler();

}

AsyncTaskinit();

if (false) {

LoopermyLooper()setMessageLogging(new

LogPrinter(LogDEBUG, "ActivityThread"));

}

Looperloop();

throw new RuntimeException("Main thread loop unexpectedly exited");

}

}

看到源码失望了,没有一个while循环啊,其实用了他方法实现

//用一个looper的机制循环监听响应

LooperprepareMainLooper();

Looperloop();

进一步深入代码

public static void loop() {

final Looper me = myLooper();

if (me == null) {

throw new RuntimeException("No Looper; Looperprepare() wasn't called on this thread");

}

final MessageQueue queue = memQueue;

BinderclearCallingIdentity();

final long ident = BinderclearCallingIdentity();

// 在这里看到了一个循环监听消息

for (;;) {

Message msg = queuenext(); // might block

if (msg == null) {

// No message indicates that the message queue is quitting

return;

}

Printer logging = memLogging;

if (logging != null) {

loggingprintln(">>>>> Dispatching to " + msgtarget + " " +

msgcallback + ": " + msgwhat);

}

msgtargetdispatchMessage(msg);

if (logging != null) {

loggingprintln("<<<<< Finished to " + msgtarget + " " + msgcallback);

}

// Make sure that during the course of dispatching the

// identity of the thread wasn't corrupted

final long newIdent = BinderclearCallingIdentity();

if (ident != newIdent) {

Logwtf(TAG, "Thread identity changed from 0x"

+ LongtoHexString(ident) + " to 0x"

+ LongtoHexString(newIdent) + " while dispatching to "

+ msgtargetgetClass()getName() + " "

+ msgcallback + " what=" + msgwhat);

}

msgrecycleUnchecked();

}

}

>

以上就是关于android studio怎么运行程序全部的内容,包括:android studio怎么运行程序、简述创建 android 程序的基本步骤是什么、androidstudio怎么调试应用程序_androidstudio进行手机或者模拟器调试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10216824.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存