実行時に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サポート、SDカード処理、基本的には何かに関係している可能性があります。」
次の手順1でこの問題を解決する必要があります。また、私が見ることができるように、あなたはあなたのマニフェストの中にいくつかの奇妙なパッケージ名を持っています:
<manifest>
タグで、<application>
の場合<activity>
ご存知のように、これらのことはアプリの表示を妨げません。しかし、私は思います:
Couldn't load memtrack module error
は、エミュレーターの構成の問題が原因で発生する可能性があります。また、プロジェクトには多くの組織の問題が含まれているため、新たな再設計が役立つ場合があります。
より使いやすく、いくつかのことを行うには、次のヒントに従って解決できます。
実際のデバイスでも! memtrack module
エラーは、エミュレータに関連しているようです。それをRun configuration
に変更します。API
も変更することを忘れないでください。
OpenGl
エラーの場合、called unimplemented OpenGL ES API
のように、エラーではなくステートメントです!マニフェストで有効にする必要があります( この回答 を読むことができます。HomeActivity.Java
内でGLSurfaceViewを使用している場合、役立つかもしれません)。
<uses-feature Android:glEsVersion="0x00020000"></uses-feature>
// or
<uses-feature Android:glEsVersion="0x00010001" Android:required="true" />
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>
スプラッシュ画面にTabHost
を使用しておらず、これは安全なリソース方法ではないため、SplashScreenActivity.Java
に別のレイアウトを設定する必要があります。アプリ名やロゴなど、何か異なるもので特定のレイアウトを宣言します。
// 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" />
使用しないアクティビティでレイアウトを使用しないでください。
最後に、私はあなたのSplashScreenActivity
の目的を明確に理解していません。コンテンツビューを設定し、直接終了します。これは無意味です。
その名前はSplash Screenなので、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に変更すると、機能しました。