當前位置:首頁 » 安卓系統 » 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 可以刪除嗎

可以刪,這個是管理應用,非系統應用,所以刪掉沒事

熱點內容
怎麼給訂制系統平板安裝安卓系統 發布:2024-05-02 10:29:59 瀏覽:260
雲伺服器做網站伺服器用什麼系統 發布:2024-05-02 10:20:26 瀏覽:896
python經典程序實例 發布:2024-05-02 09:42:07 瀏覽:260
酷豐c10出廠密碼多少 發布:2024-05-02 09:23:33 瀏覽:376
開發安卓游戲需要會什麼 發布:2024-05-02 09:04:22 瀏覽:977
無線網密碼忘了手機怎麼改 發布:2024-05-02 08:57:24 瀏覽:527
iis上傳文件許可權設置 發布:2024-05-02 08:56:39 瀏覽:232
ipad文件加密 發布:2024-05-02 08:20:30 瀏覽:443
粉土壓縮模量 發布:2024-05-02 07:53:59 瀏覽:806
國都證券初始密碼是多少 發布:2024-05-02 07:46:39 瀏覽:110