2013-03-11 4 views
0

В настоящее время я занимаюсь некоторыми вопросами CTS для нашего собственного устройства. Мне приходит в голову, что если мы сможем запустить единственный тестовый сценарий CTS только с Eclipse, это будет очень полезно для отладки проблем CTS. Для меня, например, создать проект для Android тест с файлом манифеста:Можно ли запустить один тестовый чехол для Android CTS от Eclipse?

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="android.content.pm.cts" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="15" /> 

    <instrumentation 
     android:name="android.test.InstrumentationTestRunner" 
     android:targetPackage="android.content.pm" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <uses-library android:name="android.test.runner" /> 
    </application> 

</manifest> 

и исходный код:

package android.content.pm.cts; 

import android.content.Intent; 
import android.content.pm.PackageManager; 
import android.content.pm.ResolveInfo; 
import android.content.pm.ResolveInfo.DisplayNameComparator; 
import android.test.AndroidTestCase; 

public class ResolveInfo_DisplayNameComparatorTest extends AndroidTestCase { 
    private static final String MAIN_ACTION_NAME = "android.intent.action.MAIN"; 
    private static final String SERVICE_NAME = "android.content.pm.cts.activity.PMTEST_SERVICE"; 


    public void testDisplayNameComparator() { 
     PackageManager pm = getContext().getPackageManager(); 
     DisplayNameComparator dnc = new DisplayNameComparator(pm); 

     Intent intent = new Intent(MAIN_ACTION_NAME); 
     ResolveInfo activityInfo = pm.resolveActivity(intent, 0); 

     intent = new Intent(SERVICE_NAME); 
     ResolveInfo serviceInfo = pm.resolveService(intent, PackageManager.GET_RESOLVED_FILTER); 

     assertTrue(dnc.compare(activityInfo, serviceInfo) < 0); 
     assertTrue(dnc.compare(activityInfo, activityInfo) == 0); 
     assertTrue(dnc.compare(serviceInfo, activityInfo) > 0); 
    } 
} 

Когда я правой кнопкой мыши на проекте и выберите «работать как андроид JUnit test "он просто сообщает: Пробный прогон не удалось: Не удалось найти целевую упаковку для инструментов: android.content.pm

Я знаю, что с самого начала я мог быть совершенно не прав. Так может ли кто-нибудь указать правильный путь для меня? Спасибо большое!

ответ

0

Ошибка, которую вы видите, связана с тем, что ОС Android не может найти приложение, установленное с пакетом «android.content.pm», а eclipse не знает о проекте, чтобы установить его для вас, установить нужное приложение чтобы проверить (и проверить его пакет на самом деле android.content.pm, который, вероятно, не потому, что это системный пакет, и вы не сможете это сделать, потому что ваша отладочная подпись не совпадает)

+0

Да , после этих дней я думаю, что ваше объяснение вполне разумно. Благодарю. – Robin

 Смежные вопросы

  • Нет связанных вопросов^_^