获取安卓mac地址
public int testFun()
{
WifiManager wifiMgr = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo());
if (null != info)
{
macAddress = info.getMacAddress();
}
return 0;
}
public static String testFunWithInt()
{
System.out.println("mac:" + macAddress);
return macAddress;
}
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include <jni.h>
#include "platform/android/jni/JniHelper.h"
#include <android/log.h>
#endif
调用静态函数
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
bool isHave1 = JniHelper::getStaticMethodInfo(minfo,"com/soulgame/card/Card", "testFunWithInt", "()Ljava/lang/String;");
if (!isHave1)
{
CCLog("jni:此函数不存在");
}
else
{
std::string macId;
macId=JniHelper::jstring2string(jstring(minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID)));
CCLog("macis is %s",macId.c_str());
}
#endif
调用非静态函数
JniMethodInfo methodInfo;//定义Jni函数信息结构体
//getStaticMethodInfo 次函数返回一个bool值表示是否找到此函数
bool isHave = JniHelper::getStaticMethodInfo(methodInfo,
"com/soulgame/tcweibo/tcweibo",
"getActivity",
"()Ljava/lang/Object;");
jobject jobj;
if (isHave)
{
jobj = methodInfo.env->CallStaticObjectMethod(methodInfo.classID, methodInfo.methodID);
}
CCLog("正确获取到 jobj");
isHave = JniHelper::getMethodInfo(methodInfo,
"com/soulgame/tcweibo/tcweibo",
"shardWeibo",
"()V");
if (isHave)
{
methodInfo.env->CallVoidMethod(jobj, methodInfo.methodID);
}
public static Activity actInstance;//定义单例
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
actInstance=this;
}
public static Object getActivity()
{
return actInstance;
}
export ANDROID_SDK_ROOT=/Users/JaceLin/android/android-sdk-macosx-4/
export ANDROID_NDK_ROOT=/Users/JaceLin/android/android-ndk-r7$
export COCOS2DX_ROOT=/Users/JaceLin/android/cocos2d-2.0-x-2.0.3
export NDK_ROOT=/Users/JaceLin/android/android-ndk-r7
export A_NDK_ROOT=/Users/JaceLin/android/android-ndk-r7
export PATH=$PATH:/Users/JaceLin/android/android-ndk-r7
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
export PATH=/Users/JaceLin/android/android-sdk-macosx-4/platform-tools:$PATH
export PATH=/Users/JaceLin/android/android-sdk-macosx-4/tools:$PATH
(1)ndk-stack 调试命令使用方法
1、在工程目录下的jni文件夹下Application.mk中添加 APP_OPTIM := debug
2、在windows 下使用运行输入 cmd 进入 android-ndk 目录
3、运行命令 adb logcat | ndk-stack -sym d:\documents\project\inferno3\android\obj\local\armeabi\libgame_logic.so
或者adb logcat | ndk-stack -sym d:\documents\project\inferno3\android\obj\local\armeabi查看所有的*.so调试信息
查看文件ndk-native 调试信息
(2)使用模拟器运行Inferno 疯狂城堡额外操作方法
1、使用cmd 进入android-sdk的plafrom-tools目录
2、运行 emulator -partition-size 512 -avd your_avd_name
adb logcat | ndk-stack -sym /Users/JaceLin/android/cocos2d-2.0-x-2.0.3/sdk5/proj.android/obj/local/armeabi
安卓开发
原创
©著作权归作者所有:来自51CTO博客作者wangxu254的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
安卓游戏开发之图形渲染技术优劣分析
随着移动设备的普及和性能的提升,安卓游戏开发已经成为一个热门领域。在安卓游戏开发中,图形渲染技术是关键的一环。本文将对安卓游戏开发中常用的图形渲染技术进行分析,比较它们的优劣,并探讨它们在不同应用场景下的适用性。
图形渲染 OpenGL ES Vulkan RenderScript Canvas -
安卓开发
安卓开发
开发 安卓