[Cocos3.0 Tutorial] Integrate Admob ( google play services ) with Cocos2d-x v3.0 Final

Chapter 0: References

[For Cococs2d-x 2.2, follow these simple modifications.] (http://www.cocos2d-x.org/forums/6/topics/50259?r=55055#message-55055) Thanks den1812

Change ad position to bottom Thanks adrian_dsl

This tutorial is based, but not limited on these links

Ryeeeeee
ymkimwizard
Unscrambler
stackoverflow, getSize()


Download all files on this tutorial

GitHub




Chapter 1: AdMob account

1.1. Creating a free account

Go to Mobile App Monetization - Google AdMob
Sign up with AdMob (Fill all the required fields).


1.2. Creating a new app ID

a) Sign in to the new AdMob using this URL: https://apps.admob.com/
Monetize → “+Monetize new app”

b) Select an app to monetize:
Add new app manually → Platform Android → add app

c) Select ad format and name ad unit:
Banner → Ad unit name : test app ads → Save .
Important: Save the “Ad unit ID” for later use.



Chapter 2: Preparing Eclipse and run Hello World

2.1. Creating a new cocos2d-x project

Using “Cocos console” (Run and make sure “setup.py” on the root folder of cocos2d-x success):
Open CMD (Windows) or Terminal (Mac).
cocos new admobTest –p com.test.admobTest –l cpp –d PROJECT_LOCATION


2.2. Import “admobTest\proj.android” :

Eclipse:

Open Eclipse → Create a new Workplace
File → New → Project → Android → Android Project from Exiting Code → Next
Root Directory → Browse “PROJECT_LOCATION\admobTest\proj.android” → Finish
Project → Properties → Android → Project build target :
At least Android v3.2 (API Level 13) up to latest 4.4.x. This tutorial based on 4.2.2
Apply → Ok.


2.3. Import “libcocos2dx” :

Eclipse:

File → Import → Android → Exiting Android code into Workplace → Next
Root Directory → Browse “PROJECT_LOCATION\admobTest\cocos2d\cocos” → Finish


2.4. Compile CPP files:

Open CMD (Windows) or Terminal (Mac).
Go to “PROJECT_LOCATION\admobTest\proj.android”
Run “Python build_native.py”
Make sure no errors have been occurred.


2.5. Test project on device:

###Eclipse:

Connect an Android device (adb enabled).
Run → Run → Android Application → Choose a running Android Device → OK
Auto Monitor logcat → yes, Monitor logcat and display … → Ok (will use this later for device hash)
Make sure “Hello World” showing and working correctly.



Chapter 3: Implementing AdMob in Android cocos2d-x 3.0 Final based game

3.1. Downloading “google play services”

###Eclipse:

Windows → Android SDK Manager → Extras → “Google Play services” → Install packages


3.2. Copying library to project directory:

Copy “ANDROID_SDK_HOME\extras\google\google_play_services\libproject\google-play-services_lib” folder to “PROJECT_LOCATION\admobTest\proj.android”


3.3. Importing and enlacing google play service:

###Eclipse:

File → Import → Android → Exiting Android code into Workplace → Next
Root Directory → Browse “PROJECT_LOCATION\ admobTest\proj.android\google-play-services_lib” → Finish

From Package Explorer → Select “admobTest“ project → Right Click → Properties →
Android → Library → Add → google-play-services_lib → Ok → Apply → Ok

Make sure all projects (admobTest, google-play-services_lib and libcocos2dx) have the same build target (Adnroid 4.2.2 in this tutorial).


3.4. Editing XML file:

###Eclipse:

Edit admobTest → AndroidManifest.xml → add this after tag :

        <meta-data android:name="com.google.android.gms.version"
              	   android:value="@integer/google_play_services_version"/>
		<activity android:name="com.google.android.gms.ads.AdActivity"
         		  android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

And add this after tag :

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

3.5. Editing Java file:

###Eclipse:

Edit admobtest->src->org.cocos2dx.cpp → AppActivity.java

/****************************************************************************
Copyright (c) 2008-2010 Ricardo Quesada
Copyright (c) 2010-2012 cocos2d-x.org
Copyright (c) 2011      Zynga Inc.
Copyright (c) 2013-2014 Chukong Technologies Inc.
 
http://www.cocos2d-x.org
****************************************************************************/
/*
Copyright (c) 2014 Mudafar
GPLv3
*/

package org.cocos2dx.cpp;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.cocos2dx.lib.Cocos2dxActivity;

import android.annotation.TargetApi;
import android.graphics.Color;
import android.graphics.Point;
import android.os.Build;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import android.widget.LinearLayout;

import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class AppActivity extends Cocos2dxActivity {

private static AppActivity _appActiviy;
private AdView adView;
private static final String AD_UNIT_ID = "ca-app-pub-0000000000000000/0000000000";

// Helper get display screen to avoid deprecated function use
private Point getDisplaySize(Display d)
    {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
        {
            return getDisplaySizeGE11(d);
        }
        return getDisplaySizeLT11(d);
    }

    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
    private Point getDisplaySizeGE11(Display d)
    {
        Point p = new Point(0, 0);
        d.getSize(p);
        return p;
    }
    private Point getDisplaySizeLT11(Display d)
    {
        try
        {
            Method getWidth = Display.class.getMethod("getWidth", new Class[] {});
            Method getHeight = Display.class.getMethod("getHeight", new Class[] {});
            return new Point(((Integer) getWidth.invoke(d, (Object[]) null)).intValue(), ((Integer) getHeight.invoke(d, (Object[]) null)).intValue());
        }
        catch (NoSuchMethodException e2) // None of these exceptions should ever occur.
        {
            return new Point(-1, -1);
        }
        catch (IllegalArgumentException e2)
        {
            return new Point(-2, -2);
        }
        catch (IllegalAccessException e2)
        {
            return new Point(-3, -3);
        }
        catch (InvocationTargetException e2)
        {
            return new Point(-4, -4);
        }
    }




    @Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

int width = getDisplaySize(getWindowManager().getDefaultDisplay()).x;


LinearLayout.LayoutParams adParams = new LinearLayout.LayoutParams(
width,
LinearLayout.LayoutParams.WRAP_CONTENT);


adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);


AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("HASH_DEVICE_ID")
.build();

adView.loadAd(adRequest);
            adView.setBackgroundColor(Color.BLACK);
            adView.setBackgroundColor(0);
            addContentView(adView,adParams);
            
            _appActiviy = this;

}

 
     public static void hideAd()
    {
     _appActiviy.runOnUiThread(new Runnable()
     {

     @Override
     public void run()
     {
if (_appActiviy.adView.isEnabled())
_appActiviy.adView.setEnabled(false);
if (_appActiviy.adView.getVisibility() != 4 )
_appActiviy.adView.setVisibility(View.INVISIBLE);
     }
     });
    
    }
    
     
     public static void showAd()
    {
     _appActiviy.runOnUiThread(new Runnable()
     {

     @Override
     public void run()
     {	
if (!_appActiviy.adView.isEnabled())
_appActiviy.adView.setEnabled(true);
if (_appActiviy.adView.getVisibility() == 4 )
_appActiviy.adView.setVisibility(View.VISIBLE);	
     }
     });
    
    }
  
@Override
protected void onResume() {
super.onResume();
if (adView != null) {
adView.resume();
}
}

@Override
protected void onPause() {
if (adView != null) {
adView.pause();
}
super.onPause();
}

    @Override
    protected void onDestroy() {
     adView.destroy();
        super.onDestroy();
    }

}

###Very Important:

Change ca-app-pub-0000000000000000/0000000000 with your “Ad unit ID” from Chapter 1.

Change HASH_DEVICE_ID with your actual hashed device id, to work on Test Ad,
and do not risk your AdMob account.

Run admobTest on device and search in logcat for this line to get the “hashed device id” :

Use AdRequest.Builder.addTestDevice( "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ) to get test ads on this device.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX is the “hashed device id”.

showAd() and hideAd() will be used from “C++ class using JNI to show or hide the advertisement on runtime.


3.6. Editing CPP file:

Create a new file “AdmobHelper.h” in “admobTest\Classes”

/*
Copyright (c) 2014 Mudafar
GPLv3
*/


#ifndef  __ADMOB_HELPER_H_
#define  __ADMOB_HELPER_H_

class AdmobHelper
{
public:
	static void hideAd();
	static void showAd();
	static bool isAdShowing;

};


#endif // __ADMOB_HELPER_H_

Create a new file “AdmobHelper.cpp” in “admobTest\Classes”

/*
Copyright (c) 2014 Mudafar
GPLv3
*/


#include "AdmobHelper.h"
#include "cocos2d.h"


bool AdmobHelper::isAdShowing = true;

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

#include "platform/android/jni/JniHelper.h"
#include <jni.h>
//#include <android/log.h>


const char* AppActivityClassName = "org/cocos2dx/cpp/AppActivity";

void AdmobHelper::hideAd()
{
	cocos2d::JniMethodInfo t;
	if (cocos2d::JniHelper::getStaticMethodInfo(t, AppActivityClassName, "hideAd", "()V"))
	{

		t.env->CallStaticVoidMethod(t.classID, t.methodID);
		t.env->DeleteLocalRef(t.classID);
		isAdShowing = false;
	}
}



void AdmobHelper::showAd()
{

	cocos2d::JniMethodInfo t;
	if (cocos2d::JniHelper::getStaticMethodInfo(t, AppActivityClassName, "showAd", "()V"))
	{

		t.env->CallStaticVoidMethod(t.classID, t.methodID);
		t.env->DeleteLocalRef(t.classID);
		isAdShowing = true;
	}

}


#else


void AdmobHelper::hideAd()
{
	CCLOG("hideAd() called");
	isAdShowing = false;
	return; //nothing
}


void AdmobHelper::showAd()
{
	CCLOG("showAd() called");
	isAdShowing = true;
	return; //nothing;

}

#endif


3.7. Control Ads visibility:

###JNI

Now will make “admobTest” toggle ad when touch the screen:
Edit “HelloWorldScene.cpp”

#include "HelloWorldScene.h"
#include "AdmobHelper.h"

USING_NS_CC;

Scene* HelloWorld::createScene()
{
    // 'scene' is an autorelease object
    auto scene = Scene::create();
    
    // 'layer' is an autorelease object
    auto layer = HelloWorld::create();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

    /////////////////////////////
    // 2. add a menu item with "X" image, which is clicked to quit the program
    //    you may modify it.

    // add a "close" icon to exit the progress. it's an autorelease object
    auto closeItem = MenuItemImage::create(
                                           "CloseNormal.png",
                                           "CloseSelected.png",
                                           CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
    
	closeItem->setPosition(Point(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,
                                origin.y + closeItem->getContentSize().height/2));

    // create menu, it's an autorelease object
    auto menu = Menu::create(closeItem, NULL);
    menu->setPosition(Point::ZERO);
    this->addChild(menu, 1);

    /////////////////////////////
    // 3. add your codes below...

    // add a label shows "Hello World"
    // create and initialize a label
    
    auto label = LabelTTF::create("Hello World", "Arial", 24);
    
    // position the label on the center of the screen
    label->setPosition(Point(origin.x + visibleSize.width/2,
                            origin.y + visibleSize.height - label->getContentSize().height));

    // add the label as a child to this layer
    this->addChild(label, 1);

    // add "HelloWorld" splash screen"
    auto sprite = Sprite::create("HelloWorld.png");

    // position the sprite on the center of the screen
    sprite->setPosition(Point(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

    // add the sprite as a child to this layer
    this->addChild(sprite, 0);

	//////////////////////////////////////////////////////////////////////////
	//Toggle ad when touch the screen

	auto listener = EventListenerTouchOneByOne::create();

	listener->setSwallowTouches(true);

	listener->onTouchBegan = [](Touch* touch, Event* event)
	{
		if (AdmobHelper::isAdShowing)
			AdmobHelper::hideAd();
		else
			AdmobHelper::showAd();

		return true;
	
	};

	_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);

	//////////////////////////////////////////////////////////////////////////
	
    
    return true;
}


void HelloWorld::menuCloseCallback(Ref* pSender)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
	MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");
    return;
#endif

    Director::getInstance()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
}


3.8. Editing MK file:

Edit admobTest → jni → hellocpp → Adnroid.mk
To add the new AdmobHelper Class.

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp \
                   ../../Classes/AdmobHelper.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static


include $(BUILD_SHARED_LIBRARY)

$(call import-module,2d)
$(call import-module,audio/android)
$(call import-module,Box2D)


Note:

Remember to re-run “Python build-native.py“ after any C++ modification.
Run → Run → Wait ads to show → Touch the screen to toggle visibility of ad.



capt (6).png (78.2 KB)


capt (7).png (87.4 KB)


capt (8).png (57.7 KB)


capt (9).png (113.0 KB)


capt (1).png (57.6 KB)


capt (2).png (74.9 KB)


capt (3).png (19.2 KB)


capt (11).png (98.0 KB)


capt (10).png (64.9 KB)


capt (5).png (26.6 KB)


SC20140408-165326.png (87.8 KB)

7 Likes

Great, It’s useful.:slight_smile:

Hey there!
I’m trying to follow your instructions, and I’ve had many obstacles along the way, but this one i cannot solve.I have edited all the files, and without admob, the app runs smoothly. But when i finished the last step and tried to run build_native.py, the following error occures:
showAd is not a member of ‘AdmobHelper’.
When i try to build the project in Visual Studio 2013, i get an error “jni.h not found…”

Can you help me with this? :slight_smile:

@maramara Are you using Github files? if not try to use it as test purpose.

showAd is not a member of ‘AdmobHelper’:
Verify that you have edited Mk File correctly

                   ../../Classes/HelloWorldScene.cpp \
                   ../../Classes/AdmobHelper.cpp

error “jni.h not found…”:

Make sure you
#include "cocos2d.h"
before the #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) called.

It’s not that. I’ve edited the .mk file, and I have pasted your code into my AdmobHelper class, so I have #include "cocos2d.h" before #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID).
Could the problem be the setting in my Eclipse? Maybe Eclipse cant find the jni.h file. I think that that other error showAd is not a member of AdmobHelper, could be happening because it cant find the jni.h file and therefore, it cant compile the showAd function.

Sorry, maybe its related to NDK version? As build_native.py dose not use Eclipse at all.

Also “Visual Studio” must gray-out (does not compile) the #if part, and therefore must not report the error about jni.h.

Good luck…

It wasn’t the ndk, i just found the jni.h file and added it to my source files and its compiling now, build_project.py doesnt throw any errors, and its running in visual studio, just without the ad(i guess this is normal because the ads are suposed to run only on android).
But, when i try to run the app on my android phone, i get “Unfortunately, the app has stopped.”
This is my logcat error list:
''04-12 12:29:46.999: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:29:49.999: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:29:53.019: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:29:56.019: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:29:56.749: E/Trace(6369): error opening trace file: No such file or directory (2)
04-12 12:29:56.769: E/dalvikvm(152): GC_EXPLICIT freed 39K, 42% free 8016K/13763K, paused 2ms+3ms, total 39ms
04-12 12:29:56.819: E/dalvikvm(152): GC_EXPLICIT freed <1K, 42% free 8016K/13763K, paused 2ms+11ms, total 43ms
04-12 12:29:56.859: E/dalvikvm(152): GC_EXPLICIT freed <1K, 42% free 8016K/13763K, paused 2ms+2ms, total 47ms
04-12 12:29:58.009: E/dalvikvm(6369): GC_CONCURRENT freed 2603K, 24% free 10521K/13763K, paused 13ms+3ms, total 52ms
04-12 12:29:58.049: E/dalvikvm(6369): GC_FOR_ALLOC freed 761K, 24% free 10538K/13763K, paused 3ms+3ms, total 33ms
04-12 12:29:58.089: E/dalvikvm(6369): GC_FOR_ALLOC freed 192K, 23% free 10726K/13763K, paused 13ms+2ms, total 37ms
04-12 12:29:58.229: E/dalvikvm(6369): GC_CONCURRENT freed 887K, 23% free 12022K/15431K, paused 13ms+44ms, total 99ms
04-12 12:29:58.389: E/dalvikvm(6369): GC_CONCURRENT freed 1793K, 24% free 11771K/15431K, paused 12ms+13ms, total 85ms
04-12 12:29:58.569: E/dalvikvm(6369): GC_CONCURRENT freed 609K, 16% free 13100K/15431K, paused 13ms+19ms, total 121ms
04-12 12:29:58.709: E/dalvikvm(6369): GC_CONCURRENT freed 2100K, 23% free 11937K/15431K, paused 12ms+5ms, total 66ms
04-12 12:29:58.919: E/Trace(6400): error opening trace file: No such file or directory (2)
04-12 12:29:59.029: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:30:00.379: E/dalvikvm(436): GC_EXPLICIT freed 1081K, 31% free 19320K/27847K, paused 6ms+14ms, total 165ms
04-12 12:30:00.919: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1850 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d1e08 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abaa0 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9658 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493fe0 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403e6598 successful
04-12 12:30:00.979: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403c7d88 successful
04-12 12:30:00.989: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9fc0 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403c7d88 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abaa0 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493fe0 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400cfb00 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048cba0 successful
04-12 12:30:01.009: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d1e08 successful
04-12 12:30:01.019: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1850 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d1e08 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abaa0 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40071650 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405911f0 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40492b38 successful
04-12 12:30:01.039: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403c7d88 successful
04-12 12:30:01.049: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9fc0 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403c7d88 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049eaa8 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400cfae8 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405911f0 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abb40 successful
04-12 12:30:01.069: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9f18 successful
04-12 12:30:01.079: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1850 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d1e08 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abaa0 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405911f0 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404928e8 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x401ed1a0 successful
04-12 12:30:01.099: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403c7d88 successful
04-12 12:30:01.109: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d1e08 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9fc0 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049eaa8 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049f688 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404928d0 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493fe0 successful
04-12 12:30:01.129: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400cfae8 successful
04-12 12:30:01.139: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049cab8 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000edb0 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9b78 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abaa0 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404928d0 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493ff8 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9670 successful
04-12 12:30:01.149: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9f18 successful
04-12 12:30:01.159: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.169: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.199: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40492a28 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40492988 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c7e8 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405aa3d8 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c178 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d41a0 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d4080 successful
04-12 12:30:01.209: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400452e0 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405aa380 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40048948 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017a20 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d2bd8 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40591c48 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049fed0 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049fd90 successful
04-12 12:30:01.219: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400cf3b8 successful
04-12 12:30:01.219: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.229: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493fe0 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9f18 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a9fc0 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1850 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40070788 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017910 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1a30 successful
04-12 12:30:01.249: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abb40 successful
04-12 12:30:01.259: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x401ed188 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493fe0 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048cba0 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1850 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x401eddc0 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404f7948 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d2608 successful
04-12 12:30:01.279: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400703b0 successful
04-12 12:30:01.289: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.309: E/AudioPolicyManagerBase(154): profile found: device 400000, flags 0, samplingrate 44100, format 1, channelMask 16
04-12 12:30:01.319: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048cba0 successful
04-12 12:30:01.319: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.319: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:01.319: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:01.319: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.319: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:01.319: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.319: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405911f0 successful
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40071650 successful
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x403c7d88 successful
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x401eddf0 successful
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d3900 successful
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:01.329: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:01.329: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:01.329: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.329: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:01.329: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d2608 successful
04-12 12:30:01.329: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049f688 successful
04-12 12:30:01.339: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.349: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.349: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:01.349: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:01.349: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.349: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:01.349: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.349: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.349: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:01.349: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:01.359: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.359: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:01.359: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:01.359: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.359: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:01.359: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.359: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.359: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:01.359: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40049760 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400496a8 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d41a8 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c178 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049fdf8 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40045d18 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40045bf8 successful
04-12 12:30:01.359: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d3aa8 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40071650 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049be30 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404928e8 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405abb58 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40492800 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x401eddf8 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d3918 successful
04-12 12:30:01.369: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049f688 successful
04-12 12:30:01.379: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:01.439: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40071668 successful
04-12 12:30:01.439: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017910 successful
04-12 12:30:01.449: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d1e08 successful
04-12 12:30:01.449: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049eaa8 successful
04-12 12:30:01.449: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400d3900 successful
04-12 12:30:01.449: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1a18 successful
04-12 12:30:01.449: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404928d0 successful
04-12 12:30:01.449: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40492800 successful
04-12 12:30:01.489: E/dalvikvm(6400): GC_CONCURRENT freed 2668K, 25% free 10351K/13763K, paused 14ms+13ms, total 79ms
04-12 12:30:01.599: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.599: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:01.599: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:01.599: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.599: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:01.599: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.599: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.599: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:01.599: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:01.609: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.609: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x0
04-12 12:30:01.609: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.609: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.609: E/AudioHardwareMSM76XXA(154): FIR in speaker mode
04-12 12:30:01.609: E/AudioHardwareMSM76XXA(154): fir_set_mode: FIR_COEFFICIENT_SPEAKER
04-12 12:30:01.609: E/AudioPolicyManager7627a(154): newDevice after getNewDevice 0
04-12 12:30:01.619: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40492788
04-12 12:30:01.619: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x0
04-12 12:30:01.619: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:01.619: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:01.619: E/AudioHardwareMSM76XXA(154): FIR in speaker mode
04-12 12:30:01.619: E/AudioHardwareMSM76XXA(154): fir_set_mode: FIR_COEFFICIENT_SPEAKER
04-12 12:30:01.739: E/AudioEffect(6400): set(): AudioFlinger could not create effect, status: -22
04-12 12:30:01.739: E/AudioEffect(6400): set(): AudioFlinger could not create effect, status: -22
04-12 12:30:02.039: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:30:02.109: E/Trace(6516): error opening trace file: No such file or directory (2)
04-12 12:30:02.389: E/SQLiteLog(6516): (5) statement aborts at 1: [PRAGMA journal_mode=TRUNCATE;]
04-12 12:30:02.459: E/MediaPlayer(510): Uri is content://media/internal/audio/media/41
04-12 12:30:02.489: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:02.519: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048f698 successful
04-12 12:30:02.519: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405aa268 successful
04-12 12:30:02.519: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017a98 successful
04-12 12:30:02.519: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049bff8 successful
04-12 12:30:02.529: E/AudioPolicyManager7627a(154): set RINGTONE_PLAYING=ringtone
04-12 12:30:02.529: E/AudioHardwareMSM76XXA(154): RINGTONE Set AudioRingtonePlaying: ringtone ==== 1.
04-12 12:30:02.529: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x0
04-12 12:30:02.529: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:02.529: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:02.529: E/AudioHardwareMSM76XXA(154): FIR in speaker mode
04-12 12:30:02.529: E/AudioHardwareMSM76XXA(154): fir_set_mode: FIR_COEFFICIENT_SPEAKER
04-12 12:30:03.509: E/Launcher.IconCache(635): changeStkTitleAndIcon wrong parameter
04-12 12:30:04.149: E/AudioPolicyManager7627a(154): set RINGTONE_PLAYING=media
04-12 12:30:04.259: E/AudioHardwareMSM76XXA(154): RINGTONE Set AudioRingtonePlaying: media ==== 0.
04-12 12:30:04.259: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x0
04-12 12:30:04.259: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:04.259: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:04.259: E/AudioHardwareMSM76XXA(154): FIR in speaker mode
04-12 12:30:04.259: E/AudioHardwareMSM76XXA(154): fir_set_mode: FIR_COEFFICIENT_SPEAKER
04-12 12:30:05.049: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:30:06.829: E/Trace(6544): error opening trace file: No such file or directory (2)
04-12 12:30:07.139: E/dalvikvm(13575): GC_EXPLICIT freed 2K, 26% free 10297K/13763K, paused 3ms+6ms, total 185ms
04-12 12:30:07.579: E/dalvikvm(22876): GC_CONCURRENT freed 1608K, 32% free 9463K/13763K, paused 13ms+2ms, total 49ms
04-12 12:30:07.709: E/InputDispatcher(436): channel ‘420eec20 com.android.mms/com.android.mms.ui.ComposeMessageActivity (server)’ ~ Channel is unrecoverably broken and will be disposed!
04-12 12:30:08.059: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
04-12 12:30:08.329: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017410 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1558 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fbc38 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fbab8 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc450 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc328 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400177a8 successful
04-12 12:30:08.349: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017598 successful
04-12 12:30:08.359: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001b8e0 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001b828 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d718 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d590 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fb9a0 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fb878 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001bc58 successful
04-12 12:30:08.379: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001ba68 successful
04-12 12:30:08.389: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fba00 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fb948 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fb8a8 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d770 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40017720 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400175f8 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400174b8 successful
04-12 12:30:08.409: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fbb88 successful
04-12 12:30:08.419: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001b9d8 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d7a8 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d6d8 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d520 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc5d8 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc4b0 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc370 successful
04-12 12:30:08.429: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001bb60 successful
04-12 12:30:08.439: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a17c0 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1708 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1638 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c378 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001bba8 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001ba80 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001b978 successful
04-12 12:30:08.459: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d5c0 successful
04-12 12:30:08.469: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fb8a0 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fb7e8 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400174b8 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c348 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d600 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d4d8 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1750 successful
04-12 12:30:08.489: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1528 successful
04-12 12:30:08.489: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.499: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001bb28 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001ba48 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4001b978 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1658 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400f7268 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400477b8 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40047698 successful
04-12 12:30:08.529: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400474a8 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a4a8 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a3f0 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a350 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400f75f0 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a79d0 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a78a8 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400f76b0 successful
04-12 12:30:08.539: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a630 successful
04-12 12:30:08.559: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.569: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.579: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c448 successful
04-12 12:30:08.579: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000d5c8 successful
04-12 12:30:08.589: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c3c0 successful
04-12 12:30:08.589: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c240 successful
04-12 12:30:08.589: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400472c8 successful
04-12 12:30:08.589: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048e970 successful
04-12 12:30:08.589: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1768 successful
04-12 12:30:08.589: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1558 successful
04-12 12:30:08.589: E/AudioPolicyManagerBase(154): profile found: device 400000, flags 0, samplingrate 44100, format 1, channelMask 16
04-12 12:30:08.589: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.589: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:08.589: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:08.589: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.589: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:08.589: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.589: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.589: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:08.589: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:08.599: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.599: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:08.599: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:08.599: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.599: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:08.599: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.599: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.599: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:08.599: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:08.599: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.609: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.609: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:08.609: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:08.609: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.609: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:08.609: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.609: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.609: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:08.609: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:08.619: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.619: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:08.619: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:08.619: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.619: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:08.619: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.619: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.619: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:08.619: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404907d8 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc788 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40490648 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc6b8 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40049250 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40049128 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40048fe8 successful
04-12 12:30:08.629: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40490960 successful
04-12 12:30:08.649: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a79a0 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x405a7918 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fbad0 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a15b0 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40490918 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404907f0 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c3c0 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c2a0 successful
04-12 12:30:08.679: E/dalvikvm(6544): GC_CONCURRENT freed 2691K, 25% free 10323K/13763K, paused 3ms+4ms, total 134ms
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40047568 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40047440 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40047338 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048e9c8 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a5e8 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a4c0 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4000a380 successful
04-12 12:30:08.679: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400476f0 successful
04-12 12:30:08.689: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.699: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.709: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.709: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x400000
04-12 12:30:08.709: E/huawei_fir_adapter(154): fir_set_mode: mode = 14
04-12 12:30:08.709: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.709: E/AudioHardwareMSM76XXA(154): FIR in capture mode
04-12 12:30:08.709: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.709: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.709: E/AudioHardwareMSM76XXA(154): do input routing: FIR in speaker mode
04-12 12:30:08.709: E/AudioHardwareMSM76XXA(154): do input routing: Routing audio to Speakerphone for MUSIC
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x0
04-12 12:30:08.719: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.719: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): FIR in speaker mode
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): fir_set_mode: FIR_COEFFICIENT_SPEAKER
04-12 12:30:08.719: E/AudioPolicyManager7627a(154): newDevice after getNewDevice 0
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493d70 successful
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc550 successful
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1570 successful
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): doRouting Enter: outputDevices=0x2 input=0x0x40017600
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): do input routing: inputDevice=0x0
04-12 12:30:08.719: E/huawei_fir_adapter(154): fir_set_mode: mode = 12
04-12 12:30:08.719: E/huawei_fir_adapter(154): fir_set_mode: ret = -22
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): FIR in speaker mode
04-12 12:30:08.719: E/AudioHardwareMSM76XXA(154): fir_set_mode: FIR_COEFFICIENT_SPEAKER
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c478 successful
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fba28 successful
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a13f8 successful
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4048eb18 successful
04-12 12:30:08.719: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493f18 successful
04-12 12:30:08.729: E/MM_OSAL(154): ValidateAACFile failed
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4049c4a8 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x4014d230 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc6c8 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40049468 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493d70 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493ea0 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404fc5c8 successful
04-12 12:30:08.749: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x404a1540 successful
04-12 12:30:08.759: E/AudioEffect(6544): set(): AudioFlinger could not create effect, status: -22
04-12 12:30:08.759: E/AudioEffect(6544): set(): AudioFlinger could not create effect, status: -22
04-12 12:30:08.759: E/AudioEffect(6544): set(): AudioFlinger could not create effect, status: -22
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40490630 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493c88 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493bb8 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40493a00 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40047740 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40047618 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x400474d8 successful
04-12 12:30:08.779: E/OMXNodeInstance(154): OMX_FreeBuffer for buffer header 0x40490880 successful
04-12 12:30:09.199: E/dalvikvm(6544): GC_CONCURRENT freed 891K, 23% free 10691K/13763K, paused 15ms+13ms, total 73ms
04-12 12:30:09.349: E/dalvikvm(6544): GC_FOR_ALLOC freed 1009K, 22% free 10825K/13763K, paused 16ms+3ms, total 46ms
04-12 12:30:09.409: E/dalvikvm(6544): GC_FOR_ALLOC freed 690K, 23% free 10633K/13763K, paused 2ms+13ms, total 42ms
04-12 12:30:09.459: E/dalvikvm(6544): GC_FOR_ALLOC freed 647K, 23% free 10655K/13763K, paused 3ms+3ms, total 28ms
04-12 12:30:09.499: E/dalvikvm(6544): GC_FOR_ALLOC freed 541K, 23% free 10644K/13763K, paused 2ms+3ms, total 27ms
04-12 12:30:09.599: E/dalvikvm(6544): GC_CONCURRENT freed 1091K, 26% free 11047K/14855K, paused 5ms+17ms, total 66ms
04-12 12:30:09.739: E/dalvikvm(6544): GC_CONCURRENT freed 1714K, 26% free 11015K/14855K, paused 13ms+4ms, total 57ms
04-12 12:30:09.839: E/dalvikvm(22876): GC_CONCURRENT freed 2004K, 32% free 9467K/13763K, paused 12ms+2ms, total 81ms
04-12 12:30:09.859: E/dalvikvm(6544): GC_CONCURRENT freed 1433K, 27% free 10930K/14855K, paused 25ms+13ms, total 84ms
04-12 12:30:09.969: E/dalvikvm(6544): GC_CONCURRENT freed 1621K, 27% free 10883K/14855K, paused 23ms+3ms, total 59ms
04-12 12:30:10.079: E/dalvikvm(6544): GC_CONCURRENT freed 1871K, 28% free 10700K/14855K, paused 13ms+14ms, total 69ms
04-12 12:30:10.189: E/dalvikvm(6544): GC_CONCURRENT freed 1529K, 26% free 11081K/14855K, paused 20ms+3ms, total 69ms
04-12 12:30:10.299: E/dalvikvm(6544): GC_CONCURRENT freed 1733K, 28% free 10769K/14855K, paused 20ms+3ms, total 59ms
04-12 12:30:10.459: E/dalvikvm(6544): GC_CONCURRENT freed 1316K, 29% free 10600K/14855K, paused 13ms+3ms, total 42ms
04-12 12:30:11.069: E/WifiHW(436): wifi_send_command : SIGNAL_POLL ; interface index=0;
‘’

Any ideas?
P.S. Thank you so much, this is the most detailed tutorial about admob integration I’ve ever seen :slight_smile:

I am sorry, but i can not find any thing related in the “logcat”, maybe we need an expert? :slight_smile:

In this tutorial was used NDK Toolchain version 4.7 r8e (64-bit).
If you have a older version, please try to update it, and try again.
jni.h Must be a part of NDK, I have one for each of these android versions:
3,4,5,8,9 and 14

´\android-ndk-r8e\platforms\android-14\arch-arm\usr\include\jni.h´
I am not sure, but it must be for ARM Architecture.

Does “Cocos Console” work for you? You can try to run the “admobTest” from it
Connect an Android Device -> run in CMD: cocos run -s PROJECT_LOCATION -p android
what is your “build target”?

Good luck, and you are welcome, The reason for this tutorial, is because I had to spent about a week searching to making the Ad work, so maybe this will help others.

My next step will be integrate a simple “Google play Services Login and Hight Score” maybe some achievement, but in the mean time I do not know nothing about that , but if i get it working, will be a tutorial for that.

I’m sorry, i’m really new to all this, so i dont know what i copied, but that was something from the logcat, but obviously not what was actually relevant for this issue :slight_smile:
Im using NDK Toolchain version 4.8, should i replace it with 4.7?
I have included that folder (´\android-ndk-r8e\platforms\android-14\arch-arm\usr\include\jni.h´) but the jni was still missing so i added it manually.
My build target is 4.4.2.

I’ve managed to make the apk file just without the ads,and its running ok on device, but with ads its either saying “App stopped running”, or just showing a black screen.

I will also add some tips about this admob integration these days when i finish this torture, couse i’ve also wasted too much time on setting everything up.

Ok, i hope this is my logcat error list:
04-15 15:47:02.089: E/dalvikvm(5550): Could not find class 'android.support.v4.app.FragmentActivity', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.showErrorDialogFragment 04-15 15:47:02.089: E/dalvikvm(5550): Could not find class 'android.support.v4.app.FragmentActivity', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.showErrorDialogFragment 04-15 15:47:02.289: E/Database(5550): sqlite_config failed error_code = 21. THIS SHOULD NEVER occur. 04-15 15:47:02.339: E/Database(5550): sqlite_config failed error_code = 21. THIS SHOULD NEVER occur. 04-15 15:47:03.749: E/GooglePlayServicesUtil(5550): GooglePlayServices not available due to error 2

Any suggestions? :slight_smile:

I am sorry too, this is the only thing I have found about this issue:

If you can download NDK “r8e” and try will be a good idea to localize the problem.

Good luck…

Edit:

@maramara

RC2 report that:
jni local reference changed in ics caused crash on Android devices with Android 4.2 or higher

So try RC2.

Thanks, very good explanation!
I get it to work on first try, you saved me a lot of effort.

Do you know the admod plugin for cocos2dx?
do you try it?
is it up to date?

I ask because:
“Deprecated. On August 1, 2014, Google Play will stop accepting new or updated apps that use the old standalone Google Mobile Ads SDK v6.4.1 or lower. You must upgrade to the Google Play version of the Mobile Ads SDK by then.”

MfG Alex

@AlexXx Glad that helped you :slight_smile:

No I do not, sorry.
No.
I thinks it is not up to date (if I am not wrong, it use legacy Admob sdk).

Did you still need to use “AdMob plugin”? Personally I do not recommend using it.
“Google Play Services” will have a log-term support.

Good luck.

No i don’t need to use it, I’m happy with your approach.
The only nice thing about the plugin is than it support iOS…

Any luck with integrating the Google Play Game Services?

Alex

You have a good point, google started to publish native “Play Services” in C++, but still in very early stage, so we have to wait until we have a full functional API in C++, then it will be great to implement it as a plugin for cocos2d-x.

My next step is integrating “Google Play Games Services”, but nothing in the near future sorry.

Nice tutorial, worked fine for me :slight_smile:

It will be nice have some similiar tutorial to may it work on iOS :blush:

I tried step by step using this tutorial.

But my game didn’t show ads.

Log is OK. (Native function call and refresh AdMob OK.)

What is the problem? Help me plz…T^T

Nice tutorial, but all this will change from the 1st of August this year. So any new Apps or Updates to Apps will be rejected. you will need to use Google Play services

@jjorae Make sure to test on android device with English language set as default.
AdMob new advertisement may take up to 1 week to show in another languages(based on stackoverflow).

@StainzE This tutorial is based on “Google Play Service” and will have a long term support.

Good luck…

In Germany with German as default language it works :slight_smile:
No problems so far…

Edit:
Found one…
appears only on slow devices and Android emulator.
if you use AdmobHelper::hideAd() to early for example in the AppDelegate::applicationDidFinishLaunching()
you can’t toggle it anymore it just won’t show up. On my S3 (GT-I9300) i don’t have this issue.

I think it’s because the the Asmob service just don’t have enough time to setup correctly, the AdmobHelper::hideAd() prevents it.

MfG Alex