0

プロジェクトでエスプレッソをセットアップしようとしています。
Android Studio (1.5.1) で新しい空のアクティビティ プロジェクトを作成しました。
実行に問題はありません

エスプレッソ構成をプロジェクトとテスト クラスに追加しました。
テストを実行すると、取得しています

  android.content.res.Resources$NotFoundException: Resource ID #0x7f030015
  at android.content.res.Resources.getValue(Resources.java:1266)
  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2649)
  at android.content.res.Resources.getLayout(Resources.java:1082)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
  at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:358)
  at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:279)
  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:253)
  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
  at com.adi.MainActivity.onCreate(MainActivity.java:11)
  at android.app.Activity.performCreate(Activity.java:5990)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
  at android.support.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:494)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
  at android.app.ActivityThread.access$800(ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5254)
  at java.lang.reflect.Method.invoke(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

ところで、ID はツールバー用です

テストクラスは

@RunWith(AndroidJUnit4.class)
public class MainActivityTest {

   @Rule
   public ActivityTestRule<MainActivity> mActivityRule =
        new ActivityTestRule<>(MainActivity.class);

   @Test
   public void test(){}
}

gradle.build は

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.adi"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'

    androidTestCompile 'com.android.support.test:runner:0.3'
    androidTestCompile 'com.android.support.test:rules:0.3'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'
    androidTestCompile 'com.android.support:appcompat-v7:23.1.1'
}

私は何を間違っていますか?

4

1 に答える 1

0

私はすでに StackOverflow サイトで同様の問題を発見しました。この Chris Banes の説明と解決策を見てください。

AppCompat は、テーマ ウィンドウ フラグで期待されるものに対してより厳密になり、フレームワークから得られるものとより厳密に一致するようになりました。

これの背後にある主な理由は 、このリリースで追加したAppCompatDialogsをサポートすることです。windowNoTitle以前は AppCompat があまり注意を払っていなかったフラグを多用し ています。

したがって、問題を解決するには、次の 2 つのオプションがあります。

簡単な方法はTheme.AppCompat.NoActionBar、親テーマとして使用することです。これは常に正しいことを行います。

ただし、それができない場合 (おそらく、アクション バーをサポートする必要があり、アクション バーをサポートしない必要がある場合)、次のことを行う必要があります。

<style name="MyTheme" parent="Theme.AppCompat">
    ...
</style>

<style name="MyTheme.NoActionBar">
    <!-- Both of these are needed -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

あなたは今、軌道に乗っているはずです。

From: AppCompat v22.1.0 にアップグレードし、現在 IllegalArgumentException: AppCompat は現在のテーマ機能をサポートしていません

build.gradleお気づきのように、ファイルのsupport.v7...依存関係から削除する必要はありません。Activityテーマにいくつかの変更を加えるだけです。

編集: バージョンにも変更buildToolsVersion "22.0.1"23.0.2ます。

それが役立つことを願っています

于 2016-01-15T22:47:50.557 に答える