Linuxϰ²×°ÅäÖÃAndroid¿ª·¢»·¾³
×ªÔØ android sdk 1.5 °²×°ÓëÅäÖÃ
²Î¿¼ ubuntu 8.10 °²×° Android
1.ÏÂÔØandroid sdk
ÏÂÔØµØÖ·ÈçÏ£º
http://dl.google.com/android/android-sdk-windows-1.5_r2.zip
http://dl.google.com/android/android-sdk-linux_x86-1.5_r2.zip
2.
ÏÂÔØeclipse 3.4.2
°´¹Ù·½ÎĵµËµ£¬android sdk ¿ÉÒÔÔËÐÐÔÚeclipse
3.3ÒÔÉϵÄIDEÖУ¬ubuntuÔ´ÖеÄeclipse°æ±¾¹ýµÍ£¬½¨ÒéʹÓÃeclipse 3.4.2£¬ÆäÏÂÔØµØÖ·Îª:
http://download.actuatechina.com/eclipse/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk.tar.gz
3.
°²×°eclipse 3.4.2
ÏȽ«eclipse½âѹ:
$tar xzvf
eclipse-SDK-3.4.2-linux-gtk.tar.gz
½«½âѹ³öµÄeclipseÎļþ¼ÐÒÆ¶¯µ½Ä¿±êĿ¼ÖÐÈ¥£¬ÔÚ
ÕâÀïÎÒÉ趨µÄ°²×°Ä¿±êΪ£º/usr/localÏ¡£
$sudo mv eclipse
/usr/local/
(
Java libjvm.so and SELinux error:
/opt/jre1.6.0_03/bin/../lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied
½â¾ö·½·¨£ºchcon -t textrel_shlib_t /opt/jre1.6.0_03/lib/i386/client/libjvm.so
)
4.°²×°android sdk
½âѹandroid sdk°ü:
$unzip android-sdk-linux_x86-1.5_r2.zip
ÒÆ¶¯µ½Ä¿±êÄ¿
¼£º£¼ÔÚÕâÀïÎÒ½«½âѹ³öµÄsdkÎļþ¼ÐĿ¼¸Ä³ÉÁËandroid-sdk£¾
$mv
android-sdk-linux_x86-1.5_r2 android-sdk
$sudo mv android-sdk
/usr/local/
5.ÅäÖû·¾³±äÁ¿£º
ÐÞ¸Ä~/.bashrcÎļþ£¬¼ÓÈëandroid
sdkÓëeclipseµÄ»·¾³±äÁ¿¡£
$vi ~/.bashrc
ÔÚÎļþµÄ×î
ºó¼ÓÈë
export
PATH=/usr/local/android-sdk/tools:/usr/local/eclipse:$PATH
±£´æ²¢
Í˳övi
ʹÅäÖÃÐÅÏ¢ÉúЧ
$source ~/.bashrc
6.android
avdÅäÖÃÐÅÏ¢µÄÉú³É
android avdµÄ´´½¨¸ñʽΪ:android create avd -n your-avd-name -t
your-targets
ÆäÖУº-nµÄ²ÎÊýΪÎÒÃÇÒª´´½¨µÄavdµÄÃû×Ö;-tµÄ²ÎÊýΪAvailable Android
targetsµÄid,ÎÒÃÇ¿ÉÒÔʹÓÃÃüÁandroid list²éѰÆä¾ßÌåÐÅÏ¢¡£
$android
list
Available Android targets:
id: 1
Name: Android 1.1
Type: Platform
API level: 2
Skins: HVGA-P, HVGA (default), QVGA-P, HVGA-L, QVGA-L
id: 2
Name: Android 1.5
&nb
Ïà¹ØÎĵµ£º
ÔÚLinuxÓÃc±à³Ì£¬ºÜ¶àʱºò¶¼»áÅöµ½½á¹¹ÌåÕâ¸ö¸ÅÄÓÈÆäÊÇʹÓÃÖ¸Õë·ÃÎʽṹÌå³ÉÔ±¡££¨ÏÂÃæµÄÎÄ×Ö½éÉÜ£¬Çë²Î¿¼´úÂëÀí½â£©
1. ʹÓÃÒ»¸öÐÂÔËËã·û£º->,Õâ¸öÔËËã·ûÓÐÒ»¸öÁ¬½ÓºÅ£¨-£©ºó¸úÒ»¸ö´óÓÚ·ûºÅ£¨>£©×é³É
&nbs ......
À뿪Õâ¼Ò¹«Ë¾Ò²ÒѾÎåÄê¶àÁË£¬ÔÙ֮ǰÓÐÒ»¸öÅóÓÑÀ뿪ʱ£¬ÎÒ»¹Ì¸µ½ÐÄÖеÄÓ²¼þÀíÏ룬ËûÖ»ÊÇ˵À뿪Ӳ¼þºÜ¶àÄêÖ®ºó¿ÖÅÂÒѾÎÞ·¨»ØÈ¥ÁË£¬µ±Ê±ÎÒËäȻû˵ʲô£¬ÐÄÀﻹÊÇÓÐЩÎÞÄεġ£½ñÌ쵱дµ½ÏÖÔÚµÄʱºò£¬·¢ÏÖÓ²¼þÔÚÎҵŤ×÷ÖÐÒѾ½¥½¥µ»¯ÁË£¬ÊDz»ÊÇËüÕæµÄ²»ÖØÒªÁË£¿
ÓÚÊÇдϽñÌìµÄ±êÌâµÄʱºò£¬¾ö¶¨¼ÓÉÏGNU/Linux£¬ÒòΪËü³ÉΪÁ ......
±¾ÎÄÖн«½²Êölinux»·¾³±à³ÌÖÐÏ̵߳ÄʹÓᣲ»Ëµ·Ï»°Ö±½ÓÉÏ´úÂ룺
#include <pthread.h>
#include <assert.h>
struct ThreadData
{
int i;
};
void * ThreadProc(void* arg)
{
ThreadData* data = static_cast<ThreadData*>(arg);
//do something
pthread_exit(data);
}
int main() ......
±¾ÎĽ«ÃèÊöÏ̵߳ÄÒ»¸ö±È½ÏÖØÒªµÄÒ»·½Ã棺Ïß³Ì˽ÓÐÊý¾Ý£¬ÈçÏ´úÂ룺
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
pthread_key_t kKey = 0;
void * ThreadProc(void* arg)
{
char* a = (char*)(arg);
sleep(2);
pthread_setspecific(kKey, a);
......