2016-03-18 7 views
12

にすべてが正常に働いていたサポートライブラリを更新した後にクラッシュ:ここTabLayoutは、私は私のGradleのファイルを更新し、今、私のtablayoutがエラーにクラッシュするまで23.2.1

Java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/widget/TintManager; at android.support.design.widget.TabLayout$TabView.(TabLayout.java:1185) at android.support.design.widget.TabLayout.createTabView(TabLayout.java:656) at android.support.design.widget.TabLayout.addTabView(TabLayout.java:695) at android.support.design.widget.TabLayout.addTab(TabLayout.java:386) at android.support.design.widget.TabLayout.addTab(TabLayout.java:361) at android.support.design.widget.TabLayout.setTabsFromPagerAdapter(TabLayout.java:645) at android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:616) at com.example.ScrollableTabsActivity.onCreate(ScrollableTabsActivity.java:307) at android.app.Activity.performCreate(Activity.java:6033) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2397) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1310) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5268) 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:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.TintManager" on path: DexPathList[[zip file "/data/app/com.example-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.support.design.widget.TabLayout$TabView.(TabLayout.java:1185) at android.support.design.widget.TabLayout.createTabView(TabLayout.java:656) at android.support.design.widget.TabLayout.addTabView(TabLayout.java:695) at android.support.design.widget.TabLayout.addTab(TabLayout.java:386) at android.support.design.widget.TabLayout.addTab(TabLayout.java:361) at android.support.design.widget.TabLayout.setTabsFromPagerAdapter(TabLayout.java:645) at android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:616)

は私gradleファイル

です
apply plugin: 'com.android.application' 

android { 
compileSdkVersion 23 
buildToolsVersion "23.0.2" 

defaultConfig { 
    applicationId "com.example" 
    minSdkVersion 11 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
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.2.1' 
compile 'com.android.support:design:23.2.0' 
compile 'com.android.support:cardview-v7:23.2.1' 
compile 'com.android.support:recyclerview-v7:23.2.1' 
compile 'com.mcxiaoke.volley:library:[email protected]' 
compile 'com.github.hotchemi:stringpicker:0.0.2' 
compile files('libs/devsmartlib.jar') 
compile 'com.nineoldandroids:library:2.4.0' 
compile 'com.daimajia.easing:library:[email protected]' 
compile 'com.daimajia.androidanimations:library:[email protected]' 
compile project(':lib') 
} 

することは間違っている私を助けてください

+0

は、最後のバージョンのbuildToolsVersionですか? – Fakher

+0

まだ23.0.1から更新されていません。同じエラーが返ってくるのをロールバックしても –

+0

私は確信していませんが、あなたのgradleのコンパイルを現在のバージョンに変更する必要があると思います:com.android.support:design :23.2.1 ' – Opiatefuchs

答えて

35

私は何人かの人々がマークされ、なぜ知らない23.0.2

compile 'com.android.support:appcompat-v7:23.2.0' 
compile 'com.android.support:design:23.2.0' 
compile 'com.android.support:recyclerview-v7:23.2.0' 
compile 'com.android.support:support-v4:23.2.0' 
compile 'com.android.support:cardview-v7:23.2.0' 

にトリック、追加したばかりのcom.android.support:support-v4:23.2.0と更新ビルドツールのバージョンをしました私の質問は否定的ですが、とにかくこれは誰かを助けるかもしれません

+3

23.2.0が壊れています.23.2.1を使用してください。 http://developer.android.com/tools/support-library/index.html –

-1

あなたは、まず新しいアクティビティを作成ではなく、空の活動をし、私が行ったように行い、その後、tabed活動を選ぶ。..

ステップ1:最初に、各フラグメントの活動からすべてを削除する3つのフラグメントのアクティビティを作成し、各アクティビティにこのコードを書く

ステップ2
package com.yourpakagename.tabedactivity; 
import android.content.Context; 
import android.net.Uri; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 


public class layout1 extends Fragment { 
public layout1() { 
// Required empty public constructor 
} 


@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) { 
// Inflate the layout for this fragment 
return inflater.inflate(R.layout.fragment_layout12, container, false); 
//changes in each activity-->R.layout.fragment_layout_name<---- 
} 
} 

:そして最後に、あなたのタブ付きアクティビティでは、我々は、この二つの機能を

public static class PlaceholderFragment extends Fragment { 

private static final String ARG_SECTION_NUMBER = "section_number"; 

public PlaceholderFragment() { 
} 


public static PlaceholderFragment newInstance(int sectionNumber) { 
    PlaceholderFragment fragment = new PlaceholderFragment(); 
    Bundle args = new Bundle(); 
    args.putInt(ARG_SECTION_NUMBER, sectionNumber); 
    fragment.setArguments(args); 
    return fragment; 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
    TextView textView = (TextView) rootView.findViewById(R.id.section_label); 
    textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER))); 
    return rootView; 
} 
} 

ステップ3を必要といけない:このコードを使用してsectionpageradapter機能を変更最後にして、それをthatsの - >

依存関係を変更
public class SectionsPagerAdapter extends FragmentPagerAdapter { 

public SectionsPagerAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int position) { 
    // getItem is called to instantiate the fragment for the given page. 
    // Return a PlaceholderFragment (defined as a static inner class below). 
    //delete return PlaceholderFragment.newInstance(position + 1); 
    switch (position) 
    { 
     case 0: 
      return new layout1(); 
     case 1: 
      return new layout2(); 
     case 2: 
      return new layout3(); 
     default: 
      return new layout1(); 
    } 
} 

@Override 
public int getCount() { 
    // Show 3 total pages. 
    return 3; 
} 

@Override 
public CharSequence getPageTitle(int position) { 
    switch (position) { 
     case 0: 
      return "SECTION 1"; 
     case 1: 
      return "SECTION 2"; 
     case 2: 
      return "SECTION 3"; 
    } 
    return null; 
} 
} 
9

すべてのサポートライブラリは同じバージョンでなければなりません。 23.2.1または23.1.1など、バージョンを混在させることはできません。

ext.supportLibVersion = "23.2.1" 
// design includes recyclerview-v7 and appcompat-v7, which includes support-v4 
compile "com.android.support:design:$supportLibVersion" 
compile "com.android.support:cardview-v7:$supportLibVersion" 
+0

デザインがappompat-v7を含むコメントのためにupvoted –

+0

"すべてのサポートするライブラリは同じバージョンでなければなりません"はキーステートメントです。投稿していただきありがとうございます。 – bvmobileapps

関連する問題