Unity(十三) 研究Unity获取Android手机电量、WIFI心得《之一》

----------------------------------------------2021-1-7更新整理完整工程------------------------------------------------------------------

工程下载:https://download.csdn.net/download/LinZhonglong/14040361  AndoridStudio工程

                  https://download.csdn.net/download/LinZhonglong/14040316  Unity2018.4.0工程

----------------------------------------------------------------------------------------------------------------------------------------------

 

PS:花了两天时间,基本上都是在试坑,终于还是有了收获,简单总结一下

首先感谢作者这份很重要的工程让我不再怀疑人生:https://github.com/JingFengJi/PhonePower.git (工程里含APK文件)

Unity5.5.2f1 版本     JavaEclipse

 

功能部分参考两篇博客没问题,需要注意(原作者截图存在问题)

参考1链接:https://blog.csdn.net/qq_26999509/article/details/78444163  获取手机电量信息、网络状况

参考2链接:http://www.cnblogs.com/wuzhang/p/wuzhang20170318.html#commentform    Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast

 

个人建议:

a确保unity打包APK正常,jar有问题导入后可能就无法打包了

b获取电量WIFI功能参考上面链接,出问题了读下面我标注的坑

 

问题列表:

这里以本人建立的基础工程为例说明

注意Theme !!!

如果你是按照原文作者截图创建Project,看到Theme(这里可能出问题)

 

说明:在5.5版本中打包支持最小API level9 ,这个Theme是不支持这个API Level的。

解决办法:Theme选择Holo Light 或者修改AndroidMainfest文件里的Theme直接删除

 

本人MinimumSDK选择API14 以上,Target选择了18 。打开value文件夹里看到下图,这样打包jar是可以的

因为这个Theme导出jar到Unity一打包就报错,如下。耽误了很多时间,如果仔细分析log信息就会发现是Theme问题

CommandInvokationFailure: Failed to re-package resources.
D:\Android\sdk\build-tools\28.0.3\aapt.exe package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "D:/Android/sdk\platforms\android-28\android.jar" -F bin/resources.ap_ --extra-packages com.example.test.resources -S "D:\WorkSpace\UnityProject\Test02\Temp\StagingArea\android-libraries\unity-android-resources\res"

stderr[
D:\WorkSpace\UnityProject\Test02\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:7: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.

D:\WorkSpace\UnityProject\Test02\Temp\StagingArea\android-libraries\unity-android-resources\res\values-v11\styles.xml:7: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.
一定注意看error信息,网上查了很多解决办法,也是“”一千个读者有一千个哈姆雷特“”,每个人遇到的问题雷同却不一样,解决办法不一定适用自己

当我解决掉这个问题后,其他都没了,没其他骚的操作。开心

 

以下为温馨提示:

Eclips可以建一个空的简单工程

其中导入class.jar参考链接两种方法应该都是可以的,但是必须说明一下。

选对了目录位置才能在工程右键看到BuildPath-->Add External Archives这个选项,如图

 

 

坑总结:

1:首先确保Unity能正常打包,因为配置打包环境这一环节就很容易出问题。其次检查jar里的AndroidMainfest文件问题

2:注意看log 问题描述可能很清晰了,网上类似的别人解决问题可能是方方面面的设置等,例如sdk/jdk问题等

3:选择低版本的JAVA JDK8.其次安装Android Studio的sdk时一定改到D盘,否则在SDKManager下载对应API等会占用大量空间(我笔记本C盘撑爆了,在测试坑的时候)。

4:后续增加新功能,只需导出jar后连同AndroidMainfest文件一起替换掉Unity里的即可

   2017版本成功打包APK获取Wifi信息过一次,后来一直失败,暂未找出原因。和老的Unity5.5/5.6版本对比多了个打包Gradle模式,这里还是选择旧的Internal打包

  目前测试5.5.版本一直成功(参考原作),5.6.7版本看到MinimumSDK API和2017一样.推测是Unity安装目录下的AndroidMainfest文件支持的API有关

 

如果Unity打包APK配置环境有问题参考我的这篇文章 https://mp.csdn.net/postedit/89715915 

 

关于安卓Theme的讲解  https://www.jianshu.com/p/6ad7864e005e

 

云盘链接:

1:JavaEclipse文件包 https://pan.baidu.com/s/1lXZRDkxu5bfitxyUjFdVEg 提取码:0fa7      (笔者自己备份,勿下载)

2: 关于JavaEclipse.exe在安卓sdk同级目录,若没有参考https://mp.csdn.net/postedit/89715915 我的这篇文章下载即可

 

综上功能已实现,总结一下。下一篇文章来个完整流程及拓展功能。

有问题请留言哦

 

~愿你坚持自己,愿你相信自己,愿你认真仔细,愿你更加强大

~行成于思毁于随。好记性不如烂笔头

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值