@@ -73,6 +73,7 @@ public class AVD {
73
73
/** "android-7" or "Google Inc.:Google APIs:7" */
74
74
protected String sdkId ;
75
75
76
+ static boolean invalidPackage ;
76
77
static ArrayList <String > avdList ;
77
78
static ArrayList <String > badList ;
78
79
// static ArrayList<String> skinList;
@@ -317,7 +318,8 @@ protected boolean create(final AndroidSDK sdk) throws IOException {
317
318
}
318
319
if (output .toString ().contains ("Package path is not valid" )) {
319
320
// They didn't install the Google APIs
320
- AndroidUtil .showMessage (AVD_TARGET_TITLE , AVD_TARGET_MESSAGE );
321
+ //AndroidUtil.showMessage(AVD_TARGET_TITLE, AVD_TARGET_MESSAGE);
322
+ invalidPackage = true ;
321
323
} else {
322
324
// Just generally not working
323
325
AndroidUtil .showMessage (AVD_CREATE_TITLE ,
@@ -353,15 +355,20 @@ static public boolean ensureProperAVD(final Frame window, final AndroidMode mode
353
355
AndroidUtil .showMessage (AVD_LOAD_TITLE , AVD_LOAD_MESSAGE );
354
356
return false ;
355
357
}
356
- // if (wearAVD.noTargets(sdk)) {
357
- // boolean res = AndroidSDK.locateSysImage(window, mode, true);
358
- // if (!res) {
359
- // return false;
360
- // }
361
- // }
362
358
if (wearAVD .create (sdk )) {
363
359
return true ;
364
- }
360
+ }
361
+ if (invalidPackage ) {
362
+ boolean res = AndroidSDK .locateSysImage (window , mode , true );
363
+ if (!res ) {
364
+ return false ;
365
+ } else {
366
+ // Try again
367
+ if (wearAVD .create (sdk )) {
368
+ return true ;
369
+ }
370
+ }
371
+ }
365
372
} else {
366
373
if (mobileAVD .exists (sdk )) {
367
374
return true ;
@@ -370,15 +377,20 @@ static public boolean ensureProperAVD(final Frame window, final AndroidMode mode
370
377
AndroidUtil .showMessage (AVD_LOAD_TITLE , AVD_LOAD_MESSAGE );
371
378
return false ;
372
379
}
373
- // if (mobileAVD.noTargets(sdk)) {
374
- // boolean res = AndroidSDK.locateSysImage(window, mode, false);
375
- // if (!res) {
376
- // return false;
377
- // }
378
- // }
379
380
if (mobileAVD .create (sdk )) {
380
381
return true ;
381
382
}
383
+ if (invalidPackage ) {
384
+ boolean res = AndroidSDK .locateSysImage (window , mode , false );
385
+ if (!res ) {
386
+ return false ;
387
+ } else {
388
+ // Try again
389
+ if (mobileAVD .create (sdk )) {
390
+ return true ;
391
+ }
392
+ }
393
+ }
382
394
}
383
395
} catch (final Exception e ) {
384
396
e .printStackTrace ();
0 commit comments