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いいえ私はまだこれらの問題を解決していません。ご存知ですか?
スティーブ

私はあなたがOpenGlで鉛を持っていると思います。エミュレーターまたは物理デバイスを使用しましたか?
ココリコ

@Cocoricoエミュレーターを使用しています。
スティーブ

2
@ user2450263それは私には役に立たなかった
Steve

回答:


51

このエラーは、上記のコメントにリンクされいる質問で読むことができるように次のようになります。

「[...] {some}ハードウェアモジュールのロードに問題があります。これは、GPUサポート、SDカード処理、基本的には何にでも関係している可能性があります。」

以下の手順1で、この問題を解決できます。また、私が見ることができるように、マニフェスト内にいくつかの奇妙なパッケージ名があります。

  • <manifest>タグ内のpackage = "com.example.hive"
  • android:name = "com.sit.gems.app.GemsApplication" for<application>
  • およびandroid:name = "com.sit.gems.activity" in<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。あなたは同じのために持っている必要がありManifestActivities右のこのルックスのようになど、何かを:

<!-- 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 2014年

繰り返しますが、よくわかりませんが、少なくとも1、2、4を試してみてください。これがお役に立てば幸いです。
fllo 2014年

確かに。私はそれを試しています。後で結果を教えてくれます。
スティーブ

1
私は出力を得ました。あなたの答えは私に役立ちました。あなたは素晴らしいです。私はあなたが言ったことを何でもしました。最後に、blogSelectedという名前のメソッドを1つ作成して追加しました。これらのプロジェクトは、ブログの表示に関連しています。このメソッドを見逃したのは間違いだと思います。あなたが言ったようにパッケージ名を変更しないと、出力を取得できません。あなたの答えは本当に役に立ちました。私に。ありがとうございます、良い日を。
スティーブ

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.