???????????????????????Щandroid???????????????Щ???????????????
???????????? java -jar re-sign.jar ???????android·????????ú??
??????????????£?
????????ANDROID_HOME?android sdk???????????磺D:android-sdk
??????path?????????????
????%ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;
????????????????????
??????????а??APK??????????????????apk??
???????robotium???????ú????????????μ?key??????????????????????apk?????re-sign.jar??????debug key??apk??????????????apk??????????????????
????re-sign.jar????????????????
????http://www.troido.de/re-sign.jar
????????????????????? ??? java -jar re-sign.jar????????????????apk???????????????????????debug key??apk
??????????apk??????л?????????????y????????????????????????????????????????
???????????????????????????????????????????????????
????adb install mitalk_debug.apk(??????apk??????)
????????????????????????????????????
???????
???????????? APK ????????
????1?????apk ???
????2??????????????????е? META-INF ????META-INF ?????????CERT ??MANIFEST ?????????????????
??????????????
????3?????????к????°??????????????????????zip ?????????????????????apk
????????? APK ???????????
????1??????鸴?????????????????apk ????????????
????2??jarsigner -keystore debug.keystore -storepass android -keypass android D:Robotium obotium obotiumweixin_delet_rsa_sf.apk androiddebugkey
????????????????????
??????Eclipse?????File->New???Android Test Project????????????????????This project(?????????????????????)??????????????android?汾?????
???????????′??????????com.tencent.test????e??′???LoginTest??????
package com.mitalk.test;
import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import com.jayway.android.robotium.solo.Solo;
@SuppressWarnings("rawtypes")
public class LoginTest extends ActivityInstrumentationTestCase2 {
public Solo solo;
public Activity activity;
private static Class<?> launchActivityClass;
// ???re-sign.jar??????????????????????
private static String mainActiviy = "com.tencent.mm.ui.LauncherUI";
private static String packageName = "com.tencent.mm";
static {
try {
launchActivityClass = Class.forName(mainActiviy);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@SuppressWarnings("unchecked")
public LoginTest() {
super(packageName?? launchActivityClass);
}
@Override
protected void setUp() throws Exception {
super.setUp();
this.activity = this.getActivity();
// this.solo = new Solo(getInstrumentation()?? getActivity());
}
public void testLoginWithIncorrentUsernameAndPassword() throws Exception {
wait(5000);
//?????
}
@Override
public void tearDown() throws Exception {
try {
this.solo.finishOpenedActivities();
} catch (Throwable e) {
e.printStackTrace();
}
this.activity.finish();
super.tearDown();
}
}