memtrack 모듈을로드 할 수 없습니다. Logcat 오류


84

Couldn't load memtrack module (No such file or directory) failed to load memtrack module: -2런타임에 오류가 발생 합니다.

StackTrace 오류 :

 E/SoundPool(1280)       : error loading /system/media/audio/ui/Effect_Tick.ogg 
 E/SoundPool(1280)       : error loading /system/media/audio/ui/KeypressStandard.ogg       
 E/SurfaceFlinger(931)   : glCheckFramebufferStatusOES error 733995180
 E/memtrack(1873)        : Couldn't load memtrack module (No such file or directory)
 E/android.os.Debug(1873): failed to load memtrack module: -2
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/SurfaceFlinger(931)   : glCheckFramebufferStatusOES error 733995180
 E/SurfaceFlinger(931)   : got GL_FRAMEBUFFER_COMPLETE_OES error while taking screenshot
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API

명백한:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.hive"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

<uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:name="com.sit.gems.app.GemsApplication"
        android:theme="@style/AppTheme" >

    <activity
            android:name="com.sit.gems.activity.SplashActivity"
            android:label="@string/app_name" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.sit.gems.activity.HomeActivity" android:screenOrientation="portrait"></activity>
    </application>

</manifest>

SplashActivity.java :

package com.sit.gems.activity;
import com.example.hive.R;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class SplashActivity extends FragmentActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_home);
        startActivity(new Intent(SplashActivity.this,HomeActivity.class));
        SplashActivity.this.finish();
    }

}

layout_home.xml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_above="@android:id/tabs" >

                <FrameLayout
                    android:id="@+id/tab_home"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />

                <FrameLayout
                    android:id="@+id/tab_video"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />

                <FrameLayout
                    android:id="@+id/tab_audio"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>

                <FrameLayout
                    android:id="@+id/tab_blog"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>

                <FrameLayout
                    android:id="@+id/tab_gal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>

                <FrameLayout
                    android:id="@+id/tab_more"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>
            </FrameLayout>

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:background="@drawable/bottom_bar"
                android:divider="@null" />

            <!-- android:background="#d8e49c" -->
        </RelativeLayout>
    </TabHost>

</LinearLayout>

산출:

마지막으로 빈 화면이 표시됩니다.

여기에 이미지 설명 입력

이 오류를 해결하는 방법을 아는 사람이 있습니까?


1
문제를 해결 했습니까?
Cocorico 2014 년

@Cocorico no 아직이 문제를 해결하지 못했습니다.
Steve

OpenGl에 pb가 있다고 생각합니다. 에뮬레이터 또는 pysical 장치를 사용 했습니까?
Cocorico 2014 년

@Cocorico 에뮬레이터를 사용하고 있습니다.
Steve

2
@ 나를 위해 유용하지 않았다 user2450263
스티브

답변:


51

위의 주석에 링크 된 질문에서 읽을 수 있듯이이 오류는 다음과 같습니다.

"[...] {some} 하드웨어 모듈을로드하는 데 문제가 있습니다. 이것은 GPU 지원, sdcard 처리, 기본적으로 모든 것과 관련이있을 수 있습니다."

아래의 1 단계는이 문제를 해결합니다. 또한 내가 볼 수 있듯이 매니페스트 안에 이상한 패키지 이름이 있습니다.

  • = "com.example.hive"패키지<manifest>태그
  • 안드로이드 : 이름 = "com.sit.gems.app.GemsApplication" 에 대한<application>
  • 안드로이드 : 이름 = "com.sit.gems.activity" 에서<activity>

아시다시피 이러한 사항으로 인해 앱이 표시되지는 않습니다. 하지만 나는 생각해:

Couldn't load memtrack module error프로젝트는 많은 조직의 문제를 포함하고 있기 때문에, 그것은 신선한 재 설계를 제공하기 위해 도움이 될 수 있기 때문에 에뮬레이터 구성 문제의 발생 수 있습니다.

더 나은 사용과 몇 가지 사항을 위해 다음 팁에 따라 해결할 수 있습니다.


1. 다른 에뮬레이터를 사용해보십시오 ...

그리고 심지어 실제 장치! memtrack module오류가 에뮬레이터에 관한 보인다. 따라서으로 변경하고 변경하는 Run configuration것을 잊지 마십시오 API.


2. OpenGL 오류 로그

를 들어 OpenGl오류로 called unimplemented OpenGL ES API, 그렇지 오류하지만 문입니다! 매니페스트에서 활성화해야합니다 ( 내부 에서 GLSurfaceView를 사용하는 경우이 답변을 읽을 HomeActivity.java수 있으며 도움이 될 수 있습니다).

<uses-feature android:glEsVersion="0x00020000"></uses-feature>  
// or
<uses-feature android:glEsVersion="0x00010001" android:required="true" />

3. 동일한 패키지 사용

의 모든 태그에 다른 패키지 이름을 선언하지 마십시오 Manifest. 동일한에 있어야한다 Manifest, Activities바로이 모습 등 등, 뭔가를 :

<!-- set the general package -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sit.gems.activity"
    android:versionCode="1"
    android:versionName="1.0" >

    <!-- don't set a package name in <application> -->
    <application ... >

        <!-- then, declare the activities -->
        <activity
            android:name="com.sit.gems.activity.SplashActivity" ... >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- same package here -->
        <activity
            android:name="com.sit.gems.activity.HomeActivity" ... >
        </activity>
    </application>
</manifest>  

4. 레이아웃으로 길을 잃지 마십시오.

스플래시 화면에을 SplashScreenActivity.java사용 TabHost하지 않고 안전한 리소스 방법이 아니기 때문에 다른 레이아웃을 설정해야합니다 . 앱 이름 및 로고와 같이 다른 내용으로 특정 레이아웃을 선언합니다.

// inside SplashScreen class
setContentView(R.layout.splash_screen);

// layout splash_screen.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent" 
     android:gravity="center"
     android:text="@string/appname" />  

레이아웃을 사용하지 않는 활동에서는 사용하지 마십시오.


5. 시작 화면?

마지막으로 SplashScreenActivity. 콘텐츠보기를 설정하고 직접 완료합니다. 이것은 쓸모가 없습니다.

그 이름은 스플래시 화면 이므로 HomeActivity. 따라서이 작업을 수행하고 TabHost레이아웃을 사용하지 마십시오 .) :

// FragmentActivity is also useless here! You don't use a Fragment into it, so, use traditional Activity
public class SplashActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // set your splash_screen layout
        setContentView(R.layout.splash_screen);

        // create a new Thread
        new Thread(new Runnable() {
            public void run() {
                try {
                    // sleep during 800ms
                    Thread.sleep(800);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // start HomeActivity
                startActivity(new Intent(SplashActivity.this, HomeActivity.class));
                SplashActivity.this.finish();
            }
        }).start();
    }
}  

이러한 팁이 원하는 것을 달성하는 데 도움이되기를 바랍니다.
그렇지 않은 경우 어떻게 도와 드릴 수 있는지 알려주세요.


내가 사용하고TabHost in layout_home.xml
스티브

왜 SplashScreenActivity에 아무것도 없습니까? 이 활동은 TabHost?
fllo

반복합니다. 확실하지 않지만 적어도 1, 2, 4를 시도해야합니다. 도움이 되었기를 바랍니다.
fllo

확실히. 나는 그것을 시도하고 있습니다. 나중에 결과를 알려줄 것입니다.
스티브

1
출력을 얻었습니다. 당신의 대답은 나에게 도움이되었습니다. 당신은 훌륭합니다. 당신이 말한대로했습니다. 마지막으로 blogSelected라는 하나의 메서드를 만들고 추가했습니다.이 프로젝트는 블로그 표시와 관련이 있습니다. 그 방법을 놓친 것이 내 실수라고 생각합니다. 당신이 말한대로 패키지 이름을 변경하지 않으면 출력을 얻을 수 없습니다. 당신의 대답은 정말 도움이됩니다 나에게. 고맙습니다 좋은하루 되세요.
Steve

4

나는 같은 오류가 있었다. 적절한 API 수준으로 새 AVD를 생성하면 문제가 해결되었습니다.


0

같은 문제에 직면했지만 AVD 장치의 스킨을 HVGA로 변경하면 작동했습니다.


-2

ViewTreeObserver를 호출하고 제거하지 않습니까?

    mEtEnterlive.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
         // do nothing here can cause such problem
    });

-2

나도이 문제가 있었고, 에뮬레이터에서도 실행되었습니다. 같은 메시지가 Logcat에 표시되었지만 앱의 기능에는 영향을 미치지 않았습니다. 그러나 그것은 성가신 일이었고 내가 이해하지 못하는 로그에 오류가 표시되는 것을 좋아하지 않습니다.

어쨌든 에뮬레이터 에서 RAM늘려 메시지를 제거했습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.