web-dev-qa-db-ja.com

致命的な例外:メインJava.lang.NoClassDefFoundError:Android.support.v7.internal.widget.TintManager

プロジェクトを実行しているときにエラーが発生します。私はこれをただ tutorial に従って、プロジェクトで使用していました。

チュートリアルでまったく同じ私のコード

public class MainEventActivity extends AppCompatActivity {

private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_event_activity);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new OneFragment(), "ONE");
    adapter.addFragment(new TwoFragment(), "TWO");
    adapter.addFragment(new ThreeFragment(), "THREE");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

次のようにMainEventActivityを呼び出しています:

btnNext.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this, MainEventActivity.class);
                startActivity(i);
                finish();
            }
        });

私のエラーログ:

12-01 08:00:29.903  22530-22530/com.erlawkward.albarol.eventlocatorapp
E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Java.lang.NoClassDefFoundError: Android.support.v7.internal.widget.TintManager
            at Android.support.design.widget.TabLayout$TabView.<init>(TabLayout.Java:1145)
            at Android.support.design.widget.TabLayout.createTabView(TabLayout.Java:635)
            at Android.support.design.widget.TabLayout.addTabView(TabLayout.Java:669)
            at Android.support.design.widget.TabLayout.addTab(TabLayout.Java:365)
            at Android.support.design.widget.TabLayout.addTab(TabLayout.Java:340)
            at Android.support.design.widget.TabLayout.setTabsFromPagerAdapter(TabLayout.Java:624)
            at Android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.Java:595)
            at com.erlawkward.albarol.eventlocatorapp.activity.activity.MainEventActivity.onCreate(MainEventActivity.Java:41)
            at Android.app.Activity.performCreate(Activity.Java:5104)
            at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1080)
            at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2144)
            at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2230)
            at Android.app.ActivityThread.access$600(ActivityThread.Java:141)
            at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1234)
            at Android.os.Handler.dispatchMessage(Handler.Java:99)
            at Android.os.Looper.loop(Looper.Java:137)
            at Android.app.ActivityThread.main(ActivityThread.Java:5041)
            at Java.lang.reflect.Method.invokeNative(Native Method)
            at Java.lang.reflect.Method.invoke(Method.Java:511)
            at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:793)
            at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:560)
            at dalvik.system.NativeStart.main(Native Method)

この行のエラー:

    tabLayout.setupWithViewPager(viewPager);
35
ErlAl

すべてのサポートライブラリは同じバージョンである必要があります。 appcompat-v7およびsupport-v4を23.0.1に変更するか、設計を23.1.1に変更してみてください

56
AsafK

上位バージョンのサポートライブラリをダウンロードすると、gradleは上位バージョンsilentlyを使用します。たとえ23.1.1

確認してもいい gradlew app:dependencies -q正しいバージョンが使用されているかどうか。

上位バージョンのハンドオーバを修正するには、force = true以下のすべてのサポートライブラリ。

compile ('com.Android.support:support-v4:23.1.1'){
    force = true;
}
compile ('com.Android.support:appcompat-v7:23.1.1'){
    force = true;
}
compile ('com.Android.support:design:23.1.1'){
    force = true;
}
compile ('com.Android.support:cardview-v7:23.1.1'){
    force = true;
}
compile ('com.Android.support:recyclerview-v7:23.1.1'){
    force = true;
}
4
Youngjae

依存関係を次のように変更して、同様の問題を修正しました。

'com.Android.support:design:23.1.1'をコンパイルします

'com.Android.support:design:23.+'をコンパイルします

最後のユニットは次のようになりました。

compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:support-v4:23.0.0'
compile 'com.Android.support:cardview-v7:23.0.0'
compile 'com.Android.support:design:23.+'

コンパイル 'com.Android.support:design:23.+'を追加してこの問題を解決しましたが、サポートする依存関係は似ています

   compile 'com.Android.support:appcompat-v7:23.1.1'
   compile 'com.Android.support:support-v4:23.1.1' 
   compile 'com.Android.support:design:23.1.1'

後-これは私のために働く

   compile 'com.Android.support:appcompat-v7:23.1.1'
   compile 'com.Android.support:support-v4:23.1.1' 
   compile 'com.Android.support:design:23.+'
1
livemaker

これは、lib "compile 'com.mcxiaoke.volley:library-aaa:1.0.0'"が、異なるバージョンの 'com.Android.support::'を含むgradleで使用されているためだと思いますあなたのgradleで定義するように。

あなたはそれを次のようにする必要があります:

compile ('com.mcxiaoke.volley:library-aaa:1.0.0') {
    transitive = false
}
1
Du Shunpeng
compile 'com.Android.support:appcompat-v7:23.4.0'
compile 'com.Android.support:design:23.4.0'

上記のような依存関係には同じバージョンを使用する必要があります

1
user7118090

たとえば、同じバージョンのすべてのサポートlibを設定してみてください

compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:recyclerview-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
0
Vikram

TintManagerをAppCompatDrawableManagerに置き換えたようです。

少なくとも、どこでも同じサポートライブラリバージョン(24.0.0)を使用していることを確認しましたが、TintManagerがAppCompatDrawableManagerで使用されていたすべての場所を置き換えるまで動作しませんでした。

そして here AppCompatDrawableManagerにはまだTintManagerタグがあります。

0
shtolik

コンパイル 'com.Android.support:appcompat-v7:23.2.0'コンパイル 'com.Android.support:design:23.2.0'コンパイル 'com.Android.support:recyclerview-v7:23.2.0'コンパイル 'com。 Android.support:support-v4:23.2.0 'コンパイル' com.Android.support:cardview-v7:23.2.0 '

0
Issac Balaji