클래스 조각 팽창 오류


161

오류가 발생합니다

Unable to start activity ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment

세로 및 가로 모드를 통해 전환 할 때 조각을 사용하고 있습니다. 내 XML은 다음과 같습니다

 <LinearLayout android:id="@+id/mainLayout"
               android:orientation="horizontal"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content" >

    <ListView android:id="@+id/android:list"
              android:layout_height="wrap_content"
              android:layout_width="fill_parent"/> 

    <fragment android:id="@+id/fragmentDetails"
              android:layout_height="fill_parent"
              android:layout_width="fill_parent"
              class="de.androidbuch.activiti.task.TaskDetailsFragment"/> 
</LinearLayout>

가로 및 세로 모드를 통해 전환하면 모든 것이 잘 작동합니다. 그러나 내 조각을 클릭하면 조각이 표시되고 다른 모드로 전환하면 오류가 발생합니다. 어떻게 해결할 수 있습니까? 여기에 몇 가지 답변이 있지만 이것들 중 어느 것도 나를 도와주지 못했습니다 ...

06-21 14:55:05.600: ERROR/AndroidRuntime(7636): FATAL EXCEPTION: main
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): java.lang.RuntimeException: Unable to start activity         
ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}:   android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3097)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.access$1600(ActivityThread.java:123)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:997)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.os.Looper.loop(Looper.java:126)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.main(ActivityThread.java:3998)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at java.lang.reflect.Method.invokeNative(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at java.lang.reflect.Method.invoke(Method.java:491)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at dalvik.system.NativeStart.main(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:688)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:724)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:391)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:347)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.Activity.setContentView(Activity.java:1771)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at de.androidbuch.activiti.task.TaskActivity.onCreate(TaskActivity.java:83)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     ... 12 more

레이아웃 및 레이아웃 랜드 폴더에 별도의 레이아웃 파일을 유지합니까?
— Nathan Fig

"활동을 시작할 수 없습니다 ..." 다음 줄 을 포함하여 전체 오류 로그를 제공 할 수 있습니까?
— Dave

@Nathan 무화과 : 네, 그렇습니다.하지만 오류가 발생합니다.
— tsync

@ 데이브 : 여기 간다. 어떤 생각?
— tsync

가로 레이아웃 코드가 필요하며 setContentView에 대한 호출과 세로 모드에서 액티비티를 시작하는 방법에 도움이 될 것입니다. 현재 충분한 정보가없는 것 같습니다. API 데모에서 FragmentLayout 예제를 보면 비슷한 일을하는 것처럼 들리므로 도움이 될 수 있습니다.
— PJL

답변:


131

hdemirchian이 말했듯이 다음을 사용하십시오.

import android.support.v4.app.Fragment;

또한 조각을 사용하는 활동이 FragmentActivityregular 대신 확장되는지 확인하십시오 Activity.

import android.support.v4.app.FragmentActivity;

FragmentActivity수업 을받을 수 있습니다.


12
이것은 많이 찬성했지만 앱을 다시 시작할 때 충돌이 발생하고 v4 Fragment 및 v4 FrsgmentActivity를 이미 사용하고 있습니다. 더 정확한 AppCompatActivity입니다.
— 조셉

4
이것은 해결책이 아닙니다. android.support.v4.app.Fragment 가져 오기; 아무것도 변경하지 않습니다. 실제로는 심지어 사용되지 않고 불필요한 수입품입니다.
— f470071

7
고맙게도, AppCompatActivity는 FragmentActivity의 자손입니다.
— abedfar

하지만 단검 조각을 사용하고 단검 조각은 항상 조각 활동이 아닌 조각을 확장합니다.
— user3475052

96

호출 하기 전에 프래그먼트 내부에서 android.view.InflateException: Binary XML file line: #... Error inflating class fragment조작하면 예외 가 발생할 수 있습니다 . 이 경우 잘못된 활동 참조가 수신되어이를 신뢰할 수 없습니다.getActivity()onActivityCreated()

예를 들어 다음 패턴이 잘못되었습니다.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{
    final View view = inflater.inflate(R.layout..., container, false);

    Button button = getActivity().findViewById(R.id...);
    button.setOnClickListener(...); - another problem: button is null

    return view;
}

올바른 패턴 # 1

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{
    final View view = inflater.inflate(R.layout..., container, false);

    Button button = view.findViewById(R.id...);
    button.setOnClickListener(...);

    return view;
}

올바른 패턴 # 2

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

    Button button = getActivity().findViewById(R.id...);
    button.setOnClickListener(...);
}

@MaximKorobov getActivity()내부 onActivityCreated()또는 후속 라이프 사이클 방법으로 호출 할 수 있습니다 onDestroyView().
— Grigori A.

고마워요, 이것은 엄청나게 도움이되었습니다!
— Shotgun Ninja

덕분에 :-)이 나에게 :) 많은 시간 저장
— user1007522을

나는 이것에 대해 더 많이 알고 싶습니다. 산발적 인 충돌이 일어나고 있으며 이것이 문제가 될 수 있다고 생각합니다. 대부분의 경우 코드가 제대로 작동하지만 알기 어렵습니다.
— Daniel Wilson

패턴 2가 나를 위해 해결했을 수도 있습니다. 손가락이 건. 다. 고마워
— joseph


36

나는 같은 오류가 있었다. 나는 하루 종일 파고 있었지만, 나는이 문제에 대해 ~ 25 가지 해결책을 시도했다고 생각합니다. 오전 2시에 작동하지 않았으므로 앱 매니페스트 XML 에서이 줄이 누락되었음을 알았습니다.

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

그 줄은 <application>태그 안에있었습니다 . 나는 이것이 누군가에게 도움이되기를 바랍니다. GL.


3
내 영웅. 당신 같은 사람들은 그렇게 훌륭합니다!
— capdragon

5
무슨 일이 일어나고 있는지 설명하십시오. 이 라인의 장점은 무엇입니까?
— Mansour Fahad

2
고마워, 내 하루를 구해줘 안드로이드에서 Google 맵을 사용하는 각 샘플은 다르게 작동합니다. 표준이 있는지 궁금합니다.
— user2812866

22

나는 같은 문제가 있었다. 나를위한 해결책은 FragmentActivity 내에서 super.onCreate 및 setContentView의 순서였습니다.

다음 순서는 잘 작동합니다.

    super.onCreate(savedInstanceState);
    setContentView(R.layout.fc_activity_list_profiles);

3
왜이 문제가 해결됩니까?
— 스펜서

1
JAVA 메소드에서는 super항상 메소드 시작시 호출해야합니다.
— Stéphane Bruckert

11
@ StéphaneBruckert 항상 super.method()먼저 호출해야하는 것은 아닙니다 . 수퍼 클래스의 메소드가 수행하는 작업에 따라 다릅니다. 이 경우 제대로 작동하려면 FragmentActivity일부 초기화가 필요합니다 setContentView. 그러나 다른 방법 (예 onKeyUp:)에서는 조건부로 작업을 수행하고 싶을 수도 있지만 super.onKeyUp이 경우 대체로 super.onKeyUp함수의 끝에서 호출하려고 할 것 입니다.
— CoatedMoose

아마 또한을 주목할 필요가있다 super()그러나 (확장되고있는이 클래스에 전적으로 의존하는 것)은 반드시 의무적으로하지 않습니다 호출, 자식 클래스의 생성자에서 호출 된 첫 번째 함수해야합니다 (슈퍼 클래스의 생성자).
— CoatedMoose

17

조각은 XML에 중첩 될 수 없습니다

이 방법을 열심히 배웠습니다. XML 레이아웃 기반 <fragment>태그를 (잠재적으로) 동적으로로드 된FragmentManager 조각 xml을 부풀 리려고 이상한 오류가 발생하기 시작합니다.

이것이 지원 되지 않는다는 것이 밝혀졌습니다. 순전히FragmentManager . 접근법을 .

<DrawerLayout>from xml 안에 조각을로드하려고했기 때문에이 문제 가 발생 onCreateView()하여 백 스택을 팝했을 때 메소드 에서 충돌이 발생했습니다 .


여전히 지원되지 않습니까? 현재appcompat-v7:23.3.0
— thanassis

예, xml 안에 조각을 중첩하고 있습니다. 나는 그것을 조사 할 것이다.
— KDeogharkar

그러나 문제에 대한 솔루션 / 해킹이 존재한다 : stackoverflow.com/a/14695397/860488을
— 모르 텐 Holmgaard에게

2
확인을 위해이 섹션의 끝 부분에있는 메모를 참조하십시오 : developer.android.com/about/versions/…
— Philippe

왜 솔루션이 그렇게 간단한 지 잘 모르겠습니다. 나를 위해, 단지 교체 <fragment>로 <frameLayout>했다. 나는 아직도 그것을 알아내는 중입니다. - stackoverflow.com/a/19167009/5477548
— w yoad

16

나는 당신이 직면하는 것과 같은 문제를 겪고있었습니다. 상단의 도움말 중 어느 것도 도움이되지 않았습니다. 나중에, 내가해야 할 일은 수입품을 고치는 것입니다.

import android.app.Fragment;

에:

import android.support.v4.app.Fragment;

감사합니다.이 솔루션도 저에게 효과적이었습니다. 이 문제로 이틀 동안 어려움을 겪고있었습니다. 마지막으로 귀하의 솔루션이 나를 위해 일했습니다. 감사합니다.
— Lakshmanan

당신은 굉장합니다! 내 문제는 반대였습니다. 조각 마법사는 기본적으로 android.support.v4.app.Fragment를 가져옵니다. 그리고 내 주요 활동은 android.app.Activity를 확장합니다.
— 산업 제어 괴물

12

시도해 보셨습니까?

 <fragment
            android:name="de.androidbuch.activiti.task.TaskDetailsFragment"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

1
xml 파일을 1 개 보여 주었지만 / layout /에 2 개, layout-land /에 1 개가 있어야합니다.
— Blundell

12

프래그먼트의 onCreateView 메소드에서 예외가 발생하지 않았는지 확인하십시오. 이 방법으로 예외가 발생하면 logcat은 예외에 대한 정확한 세부 정보를 표시하지 않고 항상 메시지를 표시합니다.

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.fragment" 
on path: DexPathList[[zip file "/data/app/com.package/base.apk"],
nativeLibraryDirectories=[/data/app/com.package/lib/arm64, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

Lei가 말한 것을 추가하기 위해 oncreateview 내부의 코드를 살펴보고 실제 근본 원인을 찾으십시오. 고마워 레이!
— Swaroop

6

TaskDetailsFragment확장하는 경우 android.app.Fragment에서 변경하십시오 onCreateView().

Fragment에 표시하려는 보기 를 반환 하거나 LayoutInflater 를 사용하여 레이아웃을보기로 변환 하고 반환하십시오.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View mainview = inflater.inflate(R.layout.main, null);
    return mainview;
}

이것이 효과가 있기를 바랍니다. :)


6

클래스 경로를 확인하십시오.보기 팽창기가 xml class = "de.androidbuch.activiti.task.TaskDetailsFragment"에 정의 된 클래스 정의를 찾을 수 없습니다 위의 경로가 잘못되었을 수 있습니다.


6

다른 이유로이 오류가 발생했습니다.

재현 단계 :

~> 내 문제는 새로운 빈 응용 프로그램을 만들었습니다.

~> 그런 다음 File ~> New File Menu에서 사용자 정의 조각을 생성했습니다.

~> 레이아웃과 버튼 등을 추가하여 조각을 사용자 정의하는 방법으로 진행하십시오.

~> 응용 프로그램을 만들 때 자동 생성 된 activity_my.xml에서 새 사용자 지정 조각을 참조했습니다. 이렇게하면 XML이 객체를 생성 할 수있었습니다.

다음은 File ~> New File Menu를 통해 커스텀 프래그먼트를 생성 할 때 인터페이스 기능 스텁을 자동으로 생성하여 프래그먼트 클래스 파일의 맨 아래에 배치하는 것입니다.

이는 MyActivity 클래스가이 인터페이스를 구현해야 함을 의미합니다. 그렇지 않으면 위의 오류는 xml에서 조각을 참조 할 때만 발생합니다. XML에서 Fragment에 대한 참조를 완전히 제거하고 MyActivity.java 클래스 파일의 코드를 통해 Fragment를 작성하면 Logcat에서 문제점을 자세히 설명하고 인터페이스에 대해 불평하는보다 간결한 오류를 생성합니다. 이것은 프로젝트 템플릿 활동 + 조각에 설명되어 있습니다. <~ that Project Template은 인터페이스 스텁을 생성하지 않습니다.


5

나를 위해 스택 추적에서 스크롤 한 후 android.permission.ACCESS_NETWORK_STATE에 대한 권한이 누락 된 것을 발견했습니다.

이 권한을 추가 한 후 수정되었습니다


1
자기 자신이 아님 : " 전체 스택 추적을 스크롤 합니다. @Gil 감사합니다.
— Batandwa

4

세로 및 가로 모드에 대해 별도의 레이아웃 파일이 있고 항목을 클릭 한 후 방향을 변경할 때마다 팽창 오류가 발생하면 레이아웃 파일간에 불일치가있을 수 있습니다.

오류가 발생하면 가로 모드 또는 세로 모드 또는 두 가지 모두에서 항목을 클릭 할 때만 발생합니까? TaskDetailsFragment 활동이 가로 모드와 세로 모드간에 불일치 할 수있는 레이아웃 파일을 사용합니까?


답변 주셔서 감사합니다 .. 잘 세로 모드가 아닌 가로 모드에서만 조각이 있습니다. 가로 모드에서만 클릭하여 조각을 볼 수 있습니다. 가로 모드로 다시 전환 한
— 후이

그것은 거의 확실하게 문제입니다-가로 모드에서는 찾을 수없는 세로 모드로 볼 수 있습니다. 랜드 스케이프에 프래그먼트를 추가하면 문제가 해결됩니까?
— Nathan Fig

1
두 파일 모두에 존재하지 않는 뷰를 가질 수 있습니다. 즉, 별도의 랜드 레이아웃과 포트 레이아웃이 필요합니다. 그러나 ID를 확인하십시오-세로 파일에 ID가 누락되어 전환 할 때이 오류가 발생했습니다.
— maxpolun

4

Fragment정적으로, 즉 xml 로 추가하는 경우 클래스 OnFragmentInteractionListener에서 구현하지 못했을 수 있습니다 Activity. 그런 다음 인터페이스 구현으로 문제가 해결됩니다. Fragment동적으로, 즉 Java 클래스를 추가하는 경우 솔루션이 아닙니다. IDE 자체는 필요한 인터페이스를 구현하지 않고 진행할 수 없기 때문입니다.


3

이 경우 내 문제는 나중에 라이프 사이클에서 호출 된 메소드 중 하나에 바보 포인터 예외가있는 간단한 인스턴스였습니다. 이로 인해 "클래스 조각 팽창 오류"예외가 발생했습니다. 요컨대, 예외 스택 추적에서 추가 원인을 확인하여 가능한 원인을 확인하십시오.

null 포인터 예외를 해결하면 내 조각이 정상적으로로드되었습니다.


3

위에서 언급 한 해결책 중 어느 것도 도움이되지 않았습니다. 로그에서 아래에 언급 된 예외 세부 정보를 찾을 수 있습니다.

06-19 16:20:37.885: E/AndroidRuntime(23973): Caused by: java.lang.RuntimeException: API key not found.  Check that /meta-data/ android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/ is in the application element of AndroidManifest.xml.

나는 이것을했고 내 코드는 작동했다!

<meta-data  android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyCl1yGPZ3mpxxxxxxxAz2R-t7zcWVzrHUL9k"/>
</application>

3

아무것도 변경하지 않으려면 " fragment "태그를 사용하십시오

이 작업을 수행,

<fragment
 android:visibility="gone" (Visibility will not work, just helps in removing frag from xml viewer)(If you want the visibility to be gone make it in your fragment root element visibility=gone)
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:name="com.example.YOUR_FRAGMENT" (This is important)
 />

2

logcat에 정확히 동일한 오류 메시지가 표시되는 동일한 오류 유형이 있습니다. 아래에있는 Java Build Path를 변경해야했습니다 Project->Properties. 내가 좋아하는 Google지도 관련 라이브러리 포함했다 android-support-v4.jar및 google-play-services.jar; 그러나 옵션 메뉴 'Build class path'에서 이들을 포함하여 누락되었습니다 'Order and Export'. 어쩌면 오류가 여기에 있습니다.

빌드 클래스 경로에 라이브러리를 포함하십시오.

클래스가 작성된 순서도 오류를 유발할 수 있으므로 내 조언은 건물 경로의 순서를 다시 정렬하는 것입니다. 다음 순서를 사용하면 오류가 사라졌습니다 'my_project_name/src'->'my_project_name/gen'->'Android Private Libraries'.. 마지막 유닛은 앞서 언급 한 jar 파일을 포함합니다.


1

xml 파일에서 태그 대신 사용하십시오. 팽창기는 API <10에서 실패하는 android.app.Fragment를 작성하려고 시도합니다. 따라서 다른 유형의보기 그룹을 작성해야합니다.



1

당신이 이것을 사용했는지 확인하십시오

<meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyBEwmfL0GaZmdVqdTxxxxxxxx-rVgvY" />

이거 말고..

<meta-data 
         android:name="com.google.android.gms.version" 
          android:value="AIzaSyBEwmfL0GaZmdVqdTCvxxxxxxx-rVgvY" /> 

1

이 같은 오류가 발생했습니다. 내 이유는 내 조각 클래스의 가시성 때문이었습니다. 기본값으로 설정되어 공개되어야합니다.


1

프래그먼트 onCreate와 onCreateView메소드 를 게시 할 수 있습니까? 조각 onCreate메서드 의 예외로 인해 정확히 동일한 예외가 발생했습니다. 문제를 해결하면 오류 팽창 클래스 조각이 수정되었습니다.


1

안드로이드 스튜디오 에서이 오류가 발생했습니다. 문제는 OnCreateView 함수의 코드가있는 동안 내 조각에 상대적 레이아웃이 있다는 것입니다

mDrawerListView = (ListView) inflater.inflate(
                R.layout.fragment_navigation_drawer, container, false);

코드가 같은 일을하고 있습니까?


1

AppCompatActivity 를 상속하려면 다음과 같이 할 수 있습니다-활동 xml에서 다음 과 같이 FrameLayout을 사용하십시오 .

<FrameLayout
    android:id="@+id/result_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/progress_frame"/>

그리고 활동에서 onCreate-

final FragmentManager supportFragmentManager = getSupportFragmentManager();
    FragmentTransaction ft = supportFragmentManager.beginTransaction();
    ft.replace(R.id.result_fragment, fphResultActivityFragment, "result fragment");
    ft.commitAllowingStateLoss();

감사합니다. 내가 작업 한 다른 앱에서 레이아웃에 <fragment>을 (를) 왜 사용할 수 있었는지 잘 모르겠지만 여기서 작동하지 않았습니다!
— SingularityFuture

이 방법은 효과가 있지만 일반적으로 정적이 아닌 동적 조각에 대한 것입니다.
— Tanner Summers

1

같은 오류가 발생했지만 내 문제는 내 조각에 부모 활동의 XML 레이아웃에 ID가 없다는 것입니다.


1

언젠가 투쟁 한 후, 시나리오 점검이 당신이 똑같이 직면하고 있음을 발견했습니다.

모든 것이 Google 코드와 동일하게 작동하는 경우 필자의 경우 매니페스트 파일을 확인하십시오. 예외가 발생하는 지오 키와 맵 키를 추가했습니다.

참고-매니페스트 파일에 두 개의 키를 추가하지 마십시오. 맵 키를 제거하십시오.

meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_key"/>

위의 코드 와이 코드를 추가하십시오.

 <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/auto_location"/>

 <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

1

나는 비슷한 문제가 있었다. AdMob 예제를 실행 한 후 앱에 광고를 삽입하려고했는데이 오류가 발생했습니다.

01-02 16:48:51.269    8199-8199/it.dndc.BreathPlot E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
 Caused by: android.view.InflateException: Binary XML file line #57: Error inflating class fragment

해결책은 다음과 같습니다. 광고의 조각을 ListActivity에 삽입 할 수 없습니다. 대신 문제없이 FragmentActivity 및 ActionBarActivity에 추가 할 수 있습니다.

내 제안은 AdMob 예제에서 시작하여 기존 앱에 추가하는 것입니다. 많은 시간을 절약했을 것입니다 !!!


1

Navigation 구성 요소와 난독 처리를 사용하는 경우 Android의 조각과 인수를 제외해야합니다. proguard-rules 파일에 다음 행을 추가하십시오.

# Exclude the fragments and argType for navigation component.
-keep class * extends androidx.fragment.app.Fragment{}
-keep class com.safetonet.presentation.features.parent.adddevice.model.PresentableAddDeviceData
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.