当前位置:首页 » 安卓系统 » androidmanager

androidmanager

发布时间: 2022-11-02 17:47:19

㈠ Android SDk Manager 是做什么用的

android
虚拟设备管理
Android
Virtual
Device
Manager
以下为直接复制粘贴内容:
AVD的全称为:Android
Virtual
Device,就是Android运行的虚拟设备,他是Android的模拟器识别。建立的Android要运行,必须创建AVD,每个AVD上可以配置很多的运行项目。
创建AVD的方法又两种。一是通过Elcipse开发环境,二是通过命令行创建。
Eclipse开发环境创建:
选择Eclipse菜单中Windows菜单下的Android
AVD
Manager.
在name中输入AVD的名称,Target中选择我们使用的类库(Android
1.1、Android1.5或者Google
APIs
1.5),创建SDCard和皮肤,点击Finish按钮就可以了。
命令行创建:
在命令行方式中找到Tools的路径,输入命令:android
create
avd
--target
2
--name
my_avd
其中android是命令,后面是参数,Create
avd是创建AVD,target
2是等级,name是Avd的名称。

㈡ 如何卸载android sdk manager

方法

1、首先打开控制面板选项(这是在桌面或者开始菜单里面有),然后选择程序和功能选项,点击进入找到图中的选项双击或者右击点击卸载按钮。

发展情况

Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。谷歌移动平台主管安迪·鲁宾(Andy Rubin)表示,与软件开发合作伙伴的密切接触正在进行中。

从2007年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并组建“开放手机联盟”。

㈢ android sdk manager是做什么用的

是用来安装Android SDK的,在里面选择要安装的Android版本

㈣ androidsdkmanager点了没反应然后出现一下现象........怎么解决!

应该对你有帮助的!1.首先点击电脑左下方-》开始-》运行,输入cmd进入命令提示符。2.输入java-version,看是否有显示。3.如果提示错误,则需要设置本地jdk的环境变量,这里不多说,网上有很多讲解。4.如果显示版本,注意,看看这里的版本号是否与你本地jdk版本一致,这里需要看下你电脑里面的环境变量,大部分人的变量设置都是在系统环境变量里,JAVA_HOME里面有你的jdk路径,或者是在你的path里面找你的jdk路径。PS:我的java-version显示的是1.4,而我环境变量里面的jdk是我本地的1.6版本,所以有问题了,安装androidSDK时找的是你的1.6的版本,但是系统却默认的不是这个。所以你需要改你的环境变量。5.一般出现这种情况的人,一个是你的1.6没安对,或者环境变量没设好,你上网搜下方法有很多。另一个也是大部分人的错误是你的oracle数据库默认创建个jdk的原因。-----》找到你电脑环境变量设置,在系统变量里面找到path,编辑,把所有与oracle有关的放到后面。这样系统默认的就是你的1.6版本了。点击确定。6.再次运行AndroidSDK,顺利运行!

㈤ 我手机下了个Android Manager agent,电脑下了Android Manager WiFi,以为连接上就能在手机电脑下方便互传

这个好像不是手机与电脑互连的方式,而是手机用WIFI上网的方式。
你手机连接电脑?分别在手机及电脑下载安装一个豌豆荚助手吧,然后用USB线连接手机与电脑就可以随便在手机与电脑之间传输文件了

㈥ Android sdk manager 显示 “Done loading packages”,该怎么办

Android sdk manager 显示 “Done loading packages的原因:是因为没有连接到外网,导致无法更新。

Android sdk manager 显示 “Done loading packages”的解决办法:

1、请用管理员的身份运行"SDK Manager.exe"。

2、在SDK Manager下Tools->Options打开了SDK Manager的Settings,选中“Force https://? sources to be fetched using http://?”,强制使用http协议。

3、执行SDK Setup.exe,然后在setting中选中Force https://...scources to be fetched using http://...然后这Available Packages中选择,安装的SDK版本。

(6)androidmanager扩展阅读:

连接到外网四要素:

1、通信线路和通信设备;

2、有独立功能的计算机;

3、网络软件支持;

4、实现数据通信与资源共享。

Android SDk Tool被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,是Android专属的软件开发工具包。

Android sdk manager 的其他问题及解决办法:

如果下载的Android SDK and AVD Manager Setup是R4的,即压缩包为android-sdk_r04-windows.zip。那么启动SDKsetup.exe以后即使发现了SDK2.1,eclipse仍然无法正常运行。

原因在于Android SDK and AVD Manager Setup已经升级到R5,Android SDK and AVD Manager Setup会自动连接网络升级到R5,然后才能安装SDK2.1,然后eclipse才能运行。

㈦ android servicemanager 怎么实现service管理

ServiceManager是android中比较重要的一个进程,它是在init进程启动之后启动,从名字上就可以看出来它是用来管理系统中的service。比如:InputMethodService、ActivityManagerService等。在ServiceManager中有两个比较重要的方法:add_service、check_service。系统的service需要通过add_service把自己的信息注册到ServiceManager中,当需要使用时,通过check_service检查该service是否存在。


主函数(anrdroid4.0/frameworks/base/cmds/servicemanager/service_manager.c)


从它的主函数代码开始:


int main(int argc, char **argv)

{

struct binder_state *bs;

void *svcmgr = BINDER_SERVICE_MANAGER;

bs = binder_open(128*1024);

if (binder_become_context_manager(bs)) {

LOGE("cannot become context manager (%s) ", strerror(errno));

return -1;

}

svcmgr_handle = svcmgr;

binder_loop(bs, svcmgr_handler);

return 0;

}

从main函数中可以看出,它主要做了三件事情:


打开/dev/binder设备,并在内存中映射128K的空间。

通知Binder设备,把自己变成context_manager

进入循环,不停的去读Binder设备,看是否有对service的请求,如果有的话,就去调用svcmgr_handler函数回调处理请求。

服务注册


再来看看ServiceManager中是怎么样去注册服务的。先来看先,当有对service的请求时,调用的回调函数svcmgr_handler:


int svcmgr_handler(struct binder_state *bs,

struct binder_txn *txn,

struct binder_io *msg,

struct binder_io *reply)

{

struct svcinfo *si;

uint16_t *s;

unsigned len;

void *ptr;

uint32_t strict_policy;

// LOGI("target=%p code=%d pid=%d uid=%d ",

// txn->target, txn->code, txn->sender_pid, txn->sender_euid);

if (txn->target != svcmgr_handle)

return -1;

// Equivalent to Parcel::enforceInterface(), reading the RPC

// header with the strict mode policy mask and the interface name.

// Note that we ignore the strict_policy and don't propagate it

// further (since we do no outbound RPCs anyway).

strict_policy = bio_get_uint32(msg);

s = bio_get_string16(msg, &len);

if ((len != (sizeof(svcmgr_id) / 2)) ||

memcmp(svcmgr_id, s, sizeof(svcmgr_id))) {

fprintf(stderr,"invalid id %s ", str8(s));

return -1;

}

switch(txn->code) {

case SVC_MGR_GET_SERVICE:

case SVC_MGR_CHECK_SERVICE:

s = bio_get_string16(msg, &len);

ptr = do_find_service(bs, s, len);

if (!ptr)

break;

bio_put_ref(reply, ptr);

return 0;

case SVC_MGR_ADD_SERVICE:

s = bio_get_string16(msg, &len);

ptr = bio_get_ref(msg);

if (do_add_service(bs, s, len, ptr, txn->sender_euid))

return -1;

break;

case SVC_MGR_LIST_SERVICES: {

unsigned n = bio_get_uint32(msg);

si = svclist;

while ((n-- > 0) && si)

si = si->next;

if (si) {

bio_put_string16(reply, si->name);

return 0;

}

return -1;

}

default:

LOGE("unknown code %d ", txn->code);

return -1;

}

bio_put_uint32(reply, 0);

return 0;

}

在该回调函数中会判断Service有什么需要,如果是请求注册service,那么久执行:


case SVC_MGR_ADD_SERVICE:

s = bio_get_string16(msg, &len);

ptr = bio_get_ref(msg);

if (do_add_service(bs, s, len, ptr, txn->sender_euid))

return -1;

break;

我们再来看看do_add_service中做了什么事情:


int do_add_service(struct binder_state *bs,

uint16_t *s, unsigned len,

void *ptr, unsigned uid)

{

struct svcinfo *si;

// LOGI("add_service('%s',%p) uid=%d ", str8(s), ptr, uid);

if (!ptr || (len == 0) || (len > 127))

return -1;

if (!svc_can_register(uid, s)) {

LOGE("add_service('%s',%p) uid=%d - PERMISSION DENIED ",

str8(s), ptr, uid);

return -1;

}

si = find_svc(s, len);

if (si) {

if (si->ptr) {

LOGE("add_service('%s',%p) uid=%d - ALREADY REGISTERED ",

str8(s), ptr, uid);

return -1;

}

si->ptr = ptr;

} else {

si = malloc(sizeof(*si) + (len + 1) * sizeof(uint16_t));

if (!si) {

LOGE("add_service('%s',%p) uid=%d - OUT OF MEMORY ",

str8(s), ptr, uid);

return -1;

}

si->ptr = ptr;

si->len = len;

memcpy(si->name, s, (len + 1) * sizeof(uint16_t));

si->name[len] = '';

si->death.func = svcinfo_death;

si->death.ptr = si;

si->next = svclist;

svclist = si;

}

binder_acquire(bs, ptr);

binder_link_to_death(bs, ptr, &si->death);

return 0;

}

在该函数中,首先会去检查是否有权限注册service,如果没有权限就直接返回,不能注册。


if (!svc_can_register(uid, s)) {

LOGE("add_service('%s',%p) uid=%d - PERMISSION DENIED ",

str8(s), ptr, uid);

return -1;

}

然后会去检查该service是否已经注册过了,如果已经注册过,那么就不能再注册了:


si = find_svc(s, len);

if (si) {

if (si->ptr) {

LOGE("add_service('%s',%p) uid=%d - ALREADY REGISTERED ",

str8(s), ptr, uid);

return -1;

}

si->ptr = ptr;

}

再判断内存是否足够:


si = malloc(sizeof(*si) + (len + 1) * sizeof(uint16_t));

if (!si) {

LOGE("add_service('%s',%p) uid=%d - OUT OF MEMORY ",

str8(s), ptr, uid);

return -1;

}

如果都没什么问题,会注册该service,加入到svcList中来。注意,在ServiceManager中维护service信息的地方就是svclist。里面存了service的name和handler。


服务获取


通过以上几个步骤,service就算注册成功了。那么当要获得该service的时候又是怎么去处理的。还是来看下回调函数中的判断:


case SVC_MGR_CHECK_SERVICE:

s = bio_get_string16(msg, &len);

ptr = do_find_service(bs, s, len);

if (!ptr)

break;

bio_put_ref(reply, ptr);

return 0;


如果是获取service,那么执行SVC_MGR_CHECK_SERVICE,并把返回的数据写入reply,返回给客户端。


do_find_service函数中主要执行service的查找。


void *do_find_service(struct binder_state *bs, uint16_t *s, unsigned len)

{

struct svcinfo *si;

si = find_svc(s, len);

// LOGI("check_service('%s') ptr = %p ", str8(s), si ? si->ptr : 0);

if (si && si->ptr) {

return si->ptr;

} else {

return 0;

}

}

这样在ServiceManager中就完成了服务的注册和查找。来看下ServiceManager的功能图:

转载

㈧ mac 怎么打不开android sdk manager

1、首先你的mac机中已经下载好了adtformac(就是android开发的集成环境,但是是在mac环境下运行的版本),此处不再赘述,相信做Android的同学们都懂,不过这里要说明一点,google被墙了,不过从网上找了一个镜像服务器,很感谢这个镜像服务器的构建者,分享给2、使用终端进入到sdk/tools目录下,键入./androidsdk回车后就进入了androidsdkmanager图形界面3、在AndroidSDKManager->Preferences,也就是标题栏(页面最上面,刚开始用mac机的同学们可能有些不习惯)4、按照下面填写端口填写80下面Forcehttps://的复选项要打上勾5、在tools-》addsite。。。中将如下网址全部手动添加进去即可,如果offical中没有new就使用user的即可6、都添加完后,ok,就可以正常检测和下载了

㈨ android manager wifi 怎么用

获取Wifi的控制类WifiManager。
WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE);
接下来可以对wifi操作了,比如要打开、关闭wifi,可以通过WifiManager的setWifiEnabled()方法来开关wifi。
若要查看一些信息,可以通过getConnectionInfo()方法得到WifiInfo类的对象,WifiInfo类里主要提供手机wifi上面存储的连接信息。
WifiInfo类方法:
1、getBSSID() 获取接入点的mac地址(String)
2、getIpAddress() 获取本机的IP地址 (int)
3、getLinkSpeed() 获取连接速度(不是下载速度),单位为Mbps (int)
4、getMacAddress() 获取mac地址 (String)
5、getNetworkId() 获取网络id号。每一个设定好了的网络都有一个独一无二的整数型ID号,用来识别网络,当操作请求时(翻译)。简而言之,就是这个号就是代表一个连接点,手机可以通过wifi连接很多无线网的。
6、getRssi() 返回收到的信号强度,是个负数。(好像到-113就表示一点信号都没有,也就是说数越大信号就越好)
7、getSSID() 获取无线信号提供者的名称 (就是要连的网络的名字)(String)
上面那个类只能查到本机的mac地址与ip,要只查看本机的详细信息,可以通过这个类:DhcpInfo df=wm.getDhcpInfo();
DhcpInfo类没什么方法,提供了一些字段:
1、dns1 第一个DNS
2、dns2 如上
3、gateway 网关
4、ipAddress IP地址
5、netmask 子网掩码
6、serverAddress 服务端地址(其实就是路由器ip,和网关一样)
7、leaseDuration 和上面的getLinkSpeed() 方法的值接近,可能是连接速度,不过单位不是Mbps,getLinkSpeed() 得到72,这个字段的值是7200

上面的IP与网关、子网掩码等都是int型数值,直接看看不懂,附上一个我写的方法把int转成String类型。

private String intToString(int a){
StringBuffer sb=new StringBuffer();
int b=(a>>0)&0xff;
sb.append(b+".");
b=(a>>8)&0xff;
sb.append(b+".");
b=(a>>16)&0xff;
sb.append(b+".");
b=(a>>24)&0xff;
sb.append(b);
return sb.toString();
}

WifiConfiguration 类主要提供一个wifi配置的所有信息
有如下字段(自己明白的不一定正确):
BSSID 接入点的mac地址。
SSID 接入点的名字。
networkId 网络号
preSharedKey WPA-PSK密码,如果有就会得到一个*(这玩意就是判断是不是有密码的)
priority 优先级
status 连接状态,值是WifiConfiguration.Status中字段的一种。

WifiConfiguration.Status 提供了3个字段表示wifi连接的三种状态
1.CURRENT 值为0,表示处于连接状态
2.DISABLED 值为1,表示网络不可用
3. ENABLED 值为2,表示网络可用但没连接

ScanResult wifi扫描到的接入点信息
1.BSSID
2.SSID
3.capabilities
4.frequency
5.level

关于接收WIFI状态改变接收广播信息:

ACTION: WifiManager.WIFI_STATE_CHANGED_ACTION ( "android.net.wifi.WIFI_STATE_CHANGED")wifi状态变化触发,触发两次。

可接收两个信息:(键) (这个是监听wifi状态变化的,wifi状态变化并不包括wifi的连接状态,只是单纯的指示wifi的5种状态)

1. WifiManager.EXTRA_PREVIOUS_WIFI_STATE("previous_wifi_state") int型值 intent.getIntExtra("键",0);(第二个为得不到时的默认值)

2. WifiManager.EXTRA_WIFI_STATE("wifi_state") int型值 intent.getIntExtra("键",0);(第二个为得不到时的默认值)

ACTION: WifiManager.NETWORK_STATE_CHANGED_ACTION("android.net.wifi.STATE_CHANGE")wifi连接网络的状态广播,连接过程中接收多次,在连接过程中可与获取NetworkInfo对象,通过ni.getState()可以获取wifi连接状态。如果连接state处于connected状态,可以通过WifiManager.EXTRA_WIFI_INFO得到wifiInfo对象。(不重要细节:测试时发现 下面isconnected()方法为true时,这个广播还处于connecting状态,再一次广播才变成connected)

可接收两个信息:(键)

1. WifiManager.EXTRA_BSSID("bssid") String类型值 intent.getStringExtra("键")

2. WifiManager.EXTRA_NETWORK_INFO("networkInfo") T getParcelableExtra(“键”)

ACTION: WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION( "android.net.wifi.supplicant.CONNECTION_CHANGE") 判断是否WIFI打开了,变化触发一次

可接收一个信息:(键)(这个应该是广播wifi启动状态的,true表示连接到wifi设备,一般在wifi state处于enable时得到,false则表示断开设备连接,wifi此时状态为disabling。这只是指机器内的wifi连接状态变化,与网络无关)

1. WifiManager.EXTRA_SUPPLICANT_CONNECTED("connected") boolean类型返回值 intent.getBooleanExtra(“键”, true)第二个是默认值

ACTION: WifiManager.SUPPLICANT_STATE_CHANGED_ACTION("android.net.wifi.supplicant.STATE_CHANGE")发送WIFI连接的过程信息,如果出错ERROR信息才会收到。连接WIFI时触发,触发多次。

可接收两个信息:(键)

1. WifiManager.EXTRA_NEW_STATE("newState") intent.getParcelableExtra("键")

2. WifiManager.EXTRA_SUPPLICANT_ERROR("supplicantError") int型值 getIntExtra(“键”, int)

WIFI状态int值对应的状态:

WifiManager.WIFI_STATE_DISABLED ==1

WifiManager.WIFI_STATE_DISABLING ==0

WifiManager. WIFI_STATE_ENABLED==3

WifiManager. WIFI_STATE_ENABLING==2

WifiManager. WIFI_STATE_UNKNOWN==4

上面的是在有wifi的环境下测的,没在没WIFI的环境下测,不一定准,但差不多了。测试机型HTC G17。

如果在连接WIFI的过程中(Connecting),去连接网络地址(比如http://www..com)会得到找不到地址的异常,并且在8秒左右之内(就测了一台定制机),不能连接这一地址,否则报找不到地址异常。

这个包并不判断网络连接状态,只是判断wifi的各种状态,如果需要判断网络状态, 在android.net包中。ConnectivityManager 。

//判断WIFI是否连接
private boolean isConnected(Context context){
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
System.out.println(ni.getState());
System.out.println(ni.getDetailedState()+"-----");
if(ni != null && ni.getState()==State.CONNECTED)
return true;
return false;
}

private boolean isWifiConected(Context context) {
WifiManager wm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
List<WifiConfiguration> list = wm.getConfiguredNetworks();
Iterator<WifiConfiguration> it = list.iterator();
while (it.hasNext()) {
WifiConfiguration wc = it.next();
if (wc.status == WifiConfiguration.Status.CURRENT)
return true;
}
return false;
}//2012.11.12在4.0机器上发现这个方法一直返回false,估计我理解错了,不要用。

WifiInfo不为空并不代表这个类里面就存了信息,getMacAdress可能为空。

public String getMac() {
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wi = wm.getConnectionInfo();
if(wi == null)
return null;
return wi.getMacAddress();
}

㈩ 手机程序androidmanager 可以删除吗

可以删,这个是管理应用,非系统应用,所以删掉没事

热点内容
全名k歌安卓手机里面怎么录屏 发布:2024-05-17 14:40:07 浏览:180
常用数据库介绍 发布:2024-05-17 14:31:38 浏览:504
中孚存储介质信息消除工具 发布:2024-05-17 14:31:33 浏览:588
服务器访问ip如何调转主页 发布:2024-05-17 14:30:33 浏览:788
好玩的解压化妆小游戏 发布:2024-05-17 14:10:57 浏览:127
交通银行怎么登陆不了密码 发布:2024-05-17 13:54:48 浏览:543
安卓如何自动连接无线 发布:2024-05-17 13:53:51 浏览:262
python的urlparse 发布:2024-05-17 13:44:20 浏览:769
linux命令全称 发布:2024-05-17 12:07:54 浏览:110
ftpnas区别 发布:2024-05-17 12:06:18 浏览:949