前言
最近有需求,需把Unity软件发布到android平台后开机启动应用,在网上查了很多资料,现整理如下
Unity部分
新建项目,平台设置为android
tips: 需要勾选Export Project以便于导入Android Studio ,使用Unity版本为2021.3.32f1
Android Studio部分 android studio环境配置相关就省略了,如有需要网上有很多大神的教程,请自行查阅
有几点注意事项:
1.需要修改AndroidManifest.xml里的配置
<!--接收启动完成的广播权限--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!--悬浮窗--> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<receiver android:name=".StartReciver"-----这里应为添加的java脚本名------ android:enabled="true" android:exported="true" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> <intent-filter android:priority="1000"> <action android:name="android.intent.action.BOOT_COMPLETED"></action> <category android:name="android.intent.category.HOME"/> </intent-filter>> </receiver>
2.打开应用权限允许应用在后台弹出界面、允许应用显示悬浮窗及打开应用自启动
3.修改添加java脚本
@Override public void onReceive(Context context, Intent intent) { //设备重启之后,打开应用 if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())){ Intent startIntent=context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); //new Intent(context,UintyPlayerActivity.class); //非常重要 如果缺少的话,程序启动会报错 startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //自启动APP context.startActivity(startIntent); } }
后记
Android Studio打包时遇见报错 Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module
该问题是因为Gradle版本和Java版本不兼容导致的问题,一般可以通过查找对应版本重新安装打包来解决(Compatibility Matrix (gradle.org) 可以在这个网站查找Gradle兼容版本信息),不过我在网上查找到资料,发现了一个暴力解法:
打开Android项目下的gradle.properties,在org.gradle.jvmargs配置后面加上:
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
关于Gradle下载,请参考网上其他大神的文章,这里就不详细介绍了
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容