Keyword£ºAndroid,Robotium£¬×Ô¶¯»¯²âÊÔ£¬ºÚºÐ²âÊÔ£¬ÒÑÖªidÈçºÎÄ£Äâ°´¼ü
´¿Êô°®ºÃ£¬×î½üѧϰÁËAndroid¼°Æä×Ô¶¯»¯²âÊÔ£¬×ÜËã¶ÔAndroidÓÐÁ˸ö´ó¸ÅµÄÁ˽⡣
±ÏÒµºó¾ÍÊÇÓõÄC£¬´ÓδÓùýjava£¬²¢ÇÒ×î½ü4Ä꼸ºõûÔõôÃþ¹ý´úÂ룬ÏÖÔÚѧϰandroid»¹ÊÇÓеã·Ñ¾¢£»²»¹ý»¹ºÃ£¬×ÔÎÒ¾õµÃÀí½âµÄºÜ¿ì£¬±ðÈËÅöµ½µÄÎÊÌâÎÒ¶¼Åöµ½ÁË£¬ºÜ¶àÍøÉ϶¼Óд𰸡£ÆäÖÐÒ»¸öÎÊÌâÕÛÌÚÁËÎҺü¸Ì죬ÍøÉÏҲûÓÐÍêÕûµÄ´ð°¸£¬Æ¾×Å×Ô¼ºÃþË÷£¬ÊÔ£¬×ÜËã¸ã¶¨ÁË£¬ºóÃæÒ»Ò»½éÉÜ¡£
¹ØÓÚandroidµÄ»·¾³´î½¨£¬¼°robotiumµÄ²âÊÔ·½·¨ÍøÉϵĽéÉܺܶ࣬Ôڴ˲»ÔÙһһ׸Êö¡£ÕâÀïÖ»¶ÔһЩ¹Ø¼üµã×öһЩ×ܽᣬ½éÉܳ£¼ûÎÊÌâµÄ½â¾ö°ì·¨µÈµÈ¡£
1. ÐèÒªÉèÖõĻ·¾³±äÁ¿
ANDROID_HOME=D:\Android\android-sdks
ANDROID_SDK_HOME=D:\Android\avd
JAVA_HOME= C:\Program Files\Java\jdk1.7.0_05
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
PATH=...;(×·¼Ó)%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%JAVA_HOME%\bin;%CLASSPATH%
×¢Ò⣬»·¾³ÉèÖúóÖØÆôµçÄÔ²ÅÉúЧ¡£
Èç¹ûÖªµÀ»·¾³±äÁ¿ÊÇ·ñÉúЧ£¿ÀýÈç²é¿´ANDROID_HOME»·¾³±äÁ¿µÄÉèÖ㬿ªÊ¼->ÔËÐÐ->cmd£¬ÔÚcmdÏÂÃæÊäÈëecho % ANDROID_HOME%£¬Èç¹ûÓëÎÒÃÇÔ¤ÆÚµÄÒ»Ö¾Í˵Ã÷ÉúЧÁË¡£Èç¹ûÔÑùÊä³ö% ANDROID_HOME%¾Í˵Ã÷»·¾³±äÁ¿Î´ÉúЧ£¬ÐèÒªÖØÆô²Ù×÷ϵͳ¡£
Ïêϸ˵Ã÷ÈçÏÂ
1.1 ANDROID_HOME
ANDROID_HOME= D:\Android\android-sdks£¬Ö¸¶¨sdk°üº¬µÄλÖã¬Ê²Ã´ÊÇsdk£¿ÍøÉÏÈ¥ËÑ£¬¼òµ¥µã˵¾ÍÊÇÀïÃæÒª°üº¬AVD ManagerºÍSDK Manager:
ͬʱ,eclipseÒ²ÒªÉèÖÃSDKµÄλÖã¬×îºÃºÍANDROID_HOMEÉèÖÃÒ»Ñù£¬ÈçÏÂ
1.2 ANDROID_SDK_HOME
ANDROID_SDK_HOMEÉèÖõÄÊÇavdµÄ·¾¶£¬Ò»°ãĬÈÏÔÚÓû§Â·¾¶Ï£¬ÀýÈçC:\Users\tanggod\.android£¬ SD¿¨µÄ¿Õ¼ä¶¼ÊÇ´ÓÕâÀï·ÖÅäµÄ¡£¿ÉÒÔŲµ½ÆäËûĿ¼Ï£¬ÐèÒªÔÚ»·¾³±äÁ¿ÀïÃæÉèÖÃÈçÏ£º
ANDROID_SDK_HOME=D:\Android\avd
Èç´ËÉèÖúó(ÖØÆôµçÄÔÈû·¾³±äÁ¿ÉúЧ )£¬ÒÔºó´´½¨µÄAVD¾Í»áÔÚÎÒÃÇÖ¸¶¨µÄĿ¼ÏÂÁË£º
1.3 JAVA_HOME
JDK,JAVA_HOME±ØÐëÉèÖÃjdk°²×°µÄĿ¼£¬ÀýÈ磺
JAVA_HOME= C:\Program Files\Java\jdk1.7.0_05
C:\Program Files\Java\jdk1.7.0_05
²é¿´JDK°æ±¾ºÅ£¿ÔÚcmdÏÂÃæÊäÈ룺Java -version
PS:1.7µÄjdkËƺõ»¹ºÜ²»Îȶ¨£¬ÓÐÎÊÌ⣬½¨ÒéÓÃ1.6µÄ¡£
jdkÏÂÔØλÖãº
http://www.oracle.com/technetwork/java/javase/downloads/index.html
1.4 CLASSPATH
classpath»·¾³±äÁ¿£¬Êǵ±ÎÒÃÇÔÚ¿ª·¢java³ÌÐòʱÐèÒªÒýÓñðÈËдºÃµÄÀàʱ£¬ÒªÈÃjava½âÊÍÆ÷ÖªµÀµ½ÄÄÀïÈ¥ÕÒÕâ¸öÀࡣͨ³££¬sunΪÎÒÃÇÌṩÁËһЩ¶îÍâµÄ·á¸»µÄÀà°ü£¬Ò»¸öÊÇdt.jar£¬Ò»¸öÊÇtools.jar£¬ÕâÁ½¸öjar°ü¶¼Î»ÓÚC:\jdk1.6.0\libĿ¼Ï£¬ËùÒÔͨ³£ÎÒÃǶ¼»á°ÑÕâÁ½¸öjar°ü¼Óµ½ÎÒÃǵÄclasspath»·¾³±äÁ¿ÖÐset classpath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar¡£ÔÚϵͳ»·¾³±äÁ¿ÄÇÒ»À¸Öеã->н¨classpath
±äÁ¿Ãû£ºclasspath
±äÁ¿Öµ£º.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;£¨×¢Ò⣬CLASSPATH×îÇ°ÃæÊÇÓиö¡°.¡±µÄ£¬±íʾµ±Ç°Ä¿Â¼£¬ÕâÑùµ±ÎÒÃÇÔËÐÐjava AClassµÄʱºò£¬ÏµÍ³¾Í»áÏÈÔÚµ±Ç°Ä¿Â¼Ñ°ÕÒAClassÎļþÁË¡££©£»
1.5 PATH
»·¾³±äÁ¿PATHÉèÖõÄʱºò£¬×¢ÒâÊÇ×·¼Ó£¬²»Äܽ«ÒÑÓеÄÄÚÈÝÇå¿ÕÁË¡£
PATH = %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%JAVA_HOME%\bin;%CLASSPATH%
Ö÷ÒªÉèÖõÄÊÇadb.exeºÍemulatorµÄλÖã¨ÔÚtools»òÕßplatform-toolsĿ¼ÖУ©£¬ÒѾjdk¹¤¾ßµÄ·¾¶µÈµÈ¡£
2. 鍼납̞Sign
AndroidϵͳҪÇóÿһ¸öAndroidÓ¦ÓóÌÐò±ØÐëÒª¾¹ýÊý×ÖÇ©Ãû²ÅÄܹ»°²×°µ½ÏµÍ³ÖУ¬Ò²¾ÍÊÇ˵Èç¹ûÒ»¸öAndroidÓ¦ÓóÌÐòûÓо¹ýÊý×ÖÇ©Ãû£¬ÊÇûÓа취°²×°µ½ÏµÍ³Öеģ¡
ΪÁË·½±ãÎÒÃÇ¿ª·¢µ÷ÊÔ³ÌÐò£¬ADT»á×Ô¶¯µÄʹÓÃdebugÃÜԿΪӦÓóÌÐòÇ©Ãû¡£debugÃÜÔ¿£¿ËüÔÚÄÄ£¿debugÃÜÔ¿ÊÇÒ»¸öÃûΪdebug.keystoreµÄÎļþ£¬ËüµÄλÖ㺠Ubuntu: ~/.android/debug.keystore £¨win7£ºc:/user/.Android/debug.keystore; xp: C:/Documents and Settings/user/.Android/debug.keystore£©£¬¡°user¡±¶ÔÓ¦ÓÚÄã×Ô¼ºµÄwindows²Ù×÷ϵͳÓû§Ãû£¬ÕâÒ²¾ÍÒâζ×Å£¬Èç¹ûÎÒÃÇÏëÓµÓÐ×Ô¼ºµÄÇ©Ãû£¬¶ø²»ÊÇÈÃADT°ïÎÒÃÇÇ©ÃûµÄ»°£¬ÎÒÃÇÒ²ÒªÓÐÒ»¸öÊôÓÚ×Ô¼ºµÄÃÜÔ¿Îļþ£¨*.keystore£©
ÓÃRobotium×öºÚºÐ²âÊÔµÄʱºò£¬ÐèÒª¶Ô´ý²âÊÔµÄapkÈ¥³ýÇ©Ãû£¬È»ºó×Ô¼ºÔÙÇ©Ãû¡£googleÍøÕ¾ÉÏÓиöÇ©Ãû¹¤¾ß½Ð×öre-sign.jar£¬±È½Ïɵ¹Ï»¯£¬Ö±½Ó½«apkÍÏÈëµ½re-sign.jarÖкó×Ô¶¯È¥³ýÇ©Ãû£¬ÖØÐÂÔÙÇ©Ãû£»ºÜ¶àÈ˶¼½¨ÒéÓÃÕâ¸ö¹¤¾ß¡£ÎÒ¸Õ¿ªÊ¼Ò²ÓÃÕâ¸ö£¬¿ÉÊÇ·¢ÏÖÓÃÕâ¸ö¹¤¾ß´¦Àíºó£¬ÎÞÂÛÊÇandroidÄ£ÄâÆ÷»¹ÊÇÕæ»ú£¬¶¼×°²»ÉÏ£¬ÌáʾûÓÐÇ©Ãû¡£
ÎÒ½«apk½â¿ª¿´£¬È·ÊµÊÇÓÐÇ©ÃûµÄ¡£
²é¿´Ç©Ãû£º
jarsigner -verify -verbose -certs D:\Android\apk\02-AndroidCalculator-sign.apk
ËùÒÔºóÀ´£¬ÎÒ¾ÍÊÖ¹¤ÓÃÃüÁîÐÐÀ´Ç©Ãû¡£ÊÖ¹¤Ç©Ãû֮ǰ£¬Ê×ÏÈÐèҪȥ³ýÔÀ´Ç©ÃûµÄÐÅÏ¢£¬È¥³ý·½·¨ºÜ¼òµ¥¡£¾ÍÊǽ«apkÎļþºó׺¸ÄΪ.zip£¬È»ºó´ÓwinrarÖÐɾ³ýMETA-INFÎļþ¼Ð£¬É¾³ýºóÖØн«ÎļþÃû¸Ä³ÉapkµÄºó׺£¬ÕâÑù¾ÍÈ¥³ýÇ©ÃûÁË¡£È»ºóÓÃÏÂÃæµÄÃüÁî½øÐÐÇ©Ãû¡£
×¢ÒâÏÂÃæ»ÆÉ«¸ßÁÁºÍ»ÒÉ«¸ßÁÁµÄ×Ö£¬ÐèÒª¸ù¾Ý×Ô¼ºµÄdebug.keystoreµÄλÖ㬺ʹýÇ©ÃûapkµÄλÖýøÐÐÉèÖá£
Ç©ÃûAndroidCalculator
> jarsigner -keystore D:\Android\avd\.android\debug.keystore -storepass android -keypass android D:\Android\apk\02-AndroidCalculator-unsign.apk androiddebugkey
> zipalign 4 D:\Android\apk\02-AndroidCalculator-unsign.apk D:\Android\apk\02-AndroidCalculator-sign.apk
zipalignÄܹ»Ê¹apkÎļþÖÐδѹËõµÄÊý¾ÝÔÚ4¸ö×ֽڱ߽çÉ϶ÔÆ루4¸ö×Ö½ÚÊÇÒ»¸öÐÔÄܺܺõÄÖµ£©
ÀýÈçÇ©ÃûPlingm
>jarsigner -keystore D:\Android\avd\.android\debug.keystore -storepass android -keypass android D:\Android\apk\plingm\com.freephoo.android_1180-unsign.apkandroiddebugkey
> zipalign 4 D:\Android\apk\plingm\com.freephoo.android_1180-unsign.apkD:\Android\apk\plingm\com.freephoo.android_1180-sign.apk
¶ÔÓÚjdk 1.7°æ±¾£¬Ç©ÃûÉÔÓÐÇø±ð£¬ÐèÒª¼ÓÉϲÎÊý£º-digestalg SHA1 -sigalg MD5withRSA£¬ÀýÈç
>jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore D:\Android\avd\.android\debug.keystore -storepass android -keypass android D:\Android\apk\plingm\com.freephoo.android_1180-unsign.apkandroiddebugkey
> zipalign 4 D:\Android\apk\plingm\com.freephoo.android_1180-unsign.apkD:\Android\apk\plingm\com.freephoo.android_1180-sign.apk
Ç©ÃûºóÈçºÎ°²×°µ½Ä£ÄâÆ÷ÖУ¿ÃüÁîÈçÏÂ
>emulator -avd android4.1
>adb install D:\Android\apk\plingm\com.freephoo.android_1180-sign.apk
Èç¹ûÊÇ°²×°µ½Õæ»úÖУ¬¾Í²»ÐèÒªÉÏÃæµÚÒ»ÌõÃüÁîÆô¶¯Ä£ÄâÆ÷ÁË£¬Ö±½ÓusbÁ¬½ÓÉÏÊÖ»ú£¬Ö´ÐÐadb install¼´¿É¡£
ÔÚ½øÐкںвâÊÔ֮ǰ£¬ÐèÒªÖªµÀ´ý²âÊÔapkµÄ°ü¼°activityÐÅÏ¢¡£²é¿´Ä³¸öapkµÄpackage name£¬¿ÉÒÔÓÃaapt¿´£º
ÔÚplatform-toolsĿ¼ÏÂʹÓÃÈçÏÂÃüÁaapt dump badging XXX.apk
aapt dump badgingD:\Android\apk\plingm\com.freephoo.android_1180-sign.apk
Ò²¿ÉÒÔÓÃre-sign.jar¿´£¬½á¹ûÈçÏ£ºpackage: name='com.freephoo.android'
3. Õæ»úµ÷ÊÔ
ÉèÖÃandroidÊÖ»úΪUSBµ÷ÊÔģʽ¡£²½Ö裺 menu---> ÉèÖà ---> Ó¦ÓóÌÐò ---> ¿ª·¢ , Ñ¡Ôñ¡¾USBµ÷ÊÔ¡¿
ÓÃUSBÁ¬½ÓÊÖ»úºÍµçÄÔ£¬²¢È·±£³É¹¦¡£²½Ö裺 ÔÚwindowsÏÂÖ´ÐÐc:/adb devices£¬ ²é¿´ÊÖ»úÊÇ·ñÒѾÁ¬½Ó³É¹¦¡£
Á¬½Ó²»³É¹¦£º
Á¬½Ó³É¹¦
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
Ö´ÐУº./adb logcat ¿ÉÒԲ鿴µ½¸ü¶àµÄϵͳÒì³£ÏûÏ¢¡£ÔÚÕâЩÏûÏ¢ÖÐҪעÒâ²é¿´Caused by:´ò Í·µÄÐУ¬ÕâЩÐÐÖ¸Ã÷ÁËÔÚÄÄÐдúÂë³öµÄ´íÎó
4. ÒÑÖª¿Ø¼þid£¬ÈçºÎÄ£Äâ°´¼ü
ÎÒÃÇÖªµÀ£¬androidÃ