2017-12-03 2 views
0

안녕하세요. Android 4.1.2를 사용하는 기기에서 앱을 실행하려고하는데이 오류가 발생합니다. 어떤 이유로 내 애플 리케이션 안드로이드 7.0에서 잘 작동합니다. 내 프로젝트에서 나는이 라이브러리를 사용한다. eu.long1.spacetablayout.SpaceTabLayout 나는이 문제의 원인이라고 생각한다. 누군가이 문제를 해결하도록 도와주십시오.android에서 활동 ComponentInfo를 인스턴스화 할 수 없습니다. 4.1.2

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{maa.myfirstapp/maa.myfirstapp.MainActivity}: java.lang.ClassNotFoundException: maa.myfirstapp.MainActivity 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2016) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117) 
    at android.app.ActivityThread.access$700(ActivityThread.java:134) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:4867) 
    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:1007) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: maa.myfirstapp.MainActivity 
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
    at android.app.Instrumentation.newActivity(Instrumentation.java:1068) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2007) 

Manifest.xml

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    package="maa.myfirstapp"> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.SET_WALLPAPER"/> 
    <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <application 
     android:hardwareAccelerated="true" 
     android:largeHeap="true" 
     tools:replace="android:icon" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="maa.myfirstapp.MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name=".Pop" 
      android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" /> 
    </application> 
</manifest> 

mainactivity :

package maa.myfirstapp; 
import android.os.Build; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Toast; 
import java.util.ArrayList; 
import java.util.List; 
import eu.long1.spacetablayout.SpaceTabLayout; 
public class MainActivity extends AppCompatActivity { 
    SpaceTabLayout tabLayout; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     //add the fragments you want to display in a List 
     List<Fragment> fragmentList = new ArrayList<>(); 
     fragmentList.add(new fr1()); 
     fragmentList.add(new fr2()); 
     fragmentList.add(new fr3()); 
     fragmentList.add(new fr4()); 
     fragmentList.add(new fr5()); 
     ViewPager viewPager = findViewById(R.id.viewPager); 
     tabLayout = findViewById(R.id.spaceTabLayout); 
     tabLayout.initialize(viewPager, getSupportFragmentManager(), fragmentList,savedInstanceState); 

     /*icon*/ 
     tabLayout.setTabOneIcon(getResources().getDrawable(R.drawable.a)); 
     tabLayout.setTabTwoIcon(getResources().getDrawable(R.drawable.qs)); 
     tabLayout.setTabThreeIcon(getResources().getDrawable(R.drawable.r)); 
     tabLayout.setTabFourIcon(getResources().getDrawable(R.drawable.an)); 
     tabLayout.setTabFiveIcon(getResources().getDrawable(R.mipmap.mea)); 
     /**/ 


    } 
} 
+0

전체 활동 코드 표시!? – Xenolion

+0

@ Xenolion 제 업데이트 포스트를 참조하십시오 –

+0

사실 저는 MainActivity의 코드가 필요 없지만 그 주제에 가져온 패키지를 가져오고 싶습니다. – Xenolion

답변

0

당신은 당신의 MainActivity 클래스의 패키지 선언을 누락되었습니다. 클래스의 맨 위에 다음 줄을 추가합니다 :

package maa.myfirstapp; 

비슷한 질문 : build.gradle에서이 줄을 제거하여 해결

+0

고마워하지만 이미 내 코드를 참조하십시오 –

0

내 문제를. : multiDexEnabled true

관련 문제