----------------------------------------------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 我的这篇文章下载即可
综上功能已实现,总结一下。下一篇文章来个完整流程及拓展功能。
有问题请留言哦
~愿你坚持自己,愿你相信自己,愿你认真仔细,愿你更加强大
~行成于思毁于随。好记性不如烂笔头