1.Android小白的体会:unity获取Android手机的IMEI码
在AndroidStudio中的撸代码,如下:
/** * 获取手机IMEI(需要“android.permission.READ_PHONE_STATE”权限) */ public void GetIMEICode() { if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) { TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String str = tm.getDeviceId(); UnityPlayer.UnitySendMessage("Game", "IMEICode", str ); } else { UnityPlayer.UnitySendMessage("Game", "IMEICode", "没有权限"); } }
build.gradle的设置如下:
然后在AndroidStudio(3.2)中Make module后 在相应的module→build→intermediates→packaged-classes→debug→classes.jar,把这个classes.jar添加到Plugins/Android/libs下面,在unity里面添加方法调用android的这个 GetIMEICode(),发布,安装到手机,报错:Java exception java.lang.noclassdeffounderror failed resolution of landroid/support/v4/content/contextcompat。
2.解决方式:
报错提示没有找到相关的资源,把android-support-v7-appcompat.jar和android-support-v4这个包添加到unity的Plugins/Android目录下即可。