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

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>

산출:

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

여기에 이미지 설명 입력

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



답변

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

“[…] {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();
    }
}

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


답변

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


답변

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


답변

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

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


답변

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

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


답변