UNITY发布安卓APK的整体流程

  1. 下载JAVA JDK
    自己从网上搜,UNITY工具版本越高就新一点,我用的UNITY 4.6.3 JDK 是 jdk_8u71_windows_i586_8.0.710.15.1453280260安装全部点下一步,直到结束.
  2. 配置JAVA环境变量
    右键我的电脑–》属性–》高级系统设置–》环境变量–》在下方系统变量中添加或修改。
    <1>点击新建,变量名为 JAVA_HOME 变量值为 找到你刚才安装JAVA JDK的目录,进去JDK文件夹的路径(包含jdk文件夹) ,然后点击确定。
    <2>看系统环境变量中有没有CLASSPATH ,没有新建,有的话添加,注意和你原来的用 ; 隔开,变量值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 点击确定。
    <3>看系统环境变量中有没有PATH ,然后想里边添加 %JAVA_HOME%\bin 注意分号隔开。
    <4>然后确定。windows+R 打开运行 输入cmd 在里边分别输入 java -version 和 javac 看出来东西不, 如果出来* * *不是内部命令,那就是前边哪配错了。

3.下载 Andriod SDK .
没资源的进这

http://download.youkuaiyun.com/detail/programmer_zk/9416676

4.使用Andriod SDK Manager 更新API (API版本够用的跳过吧)

我的UNITY工具4.6.3最低要求是21 , 也就是andriod5.0 。

解压ADT包后进入Andriod SDK Manager , 然后选择上边菜单栏的 Tools Options , 里边这么填:
这里写图片描述

完了以后出去 勾选你要下的版本的API,我用的 API 23 然后点击 Install packages 等吧。。。

在这我碰到了一个问题, 由于我UNITY工具要求API为21以上,我之前API为20 , 然后老版本的Andriod SDK Tools 没卸载 , 发布时就不停的说我版本低, 这里选择老版本的东西, 也就是低于UNITY工具最低版本的东西勾选住,然后 Delete Packages 掉。

至于要勾什么API 我是这么勾的, 不会勾的按我的来应该没问题。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

上图后边有INSTALLED的 你的如果是 NOT INSTALLED 那就勾住 然后下载。

5.配置安卓SDK 环境变量

在系统环境变量里找 Path ,没有就创建 然后变量值为 你上边下载安卓SDK的tools 路径和platform-tools路径 。 例如 我的是
F:\adt-bundle-windows-x86_64-20140702\sdk\tools;F:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools
一个人和一个人不一样。配置完后 进入Windows+R CMD 然后输入adb 没出现 不是内部命令就对了,出现就说明错了。

6.在unity工具中的配置
UNITY菜单栏中EDIT菜单 –》Preferences –》选择External Tools然后点击 andriod sdk location 选择你的SDK路径。

7.发布APK。
上边步骤完了就选择file菜单的–》build setting 然后platform选择andriod 有需要点击player settings进行相关设置 , 没需要就直接build发布吧。。。。

就这么多了 , 完了。

### Unity打包APK后出现黑屏的原因分析 对于Unity打包后的APK在某些特定版本的安卓设备上(如安卓8.0)运行时遇到黑屏的情况,可能由多种因素引起。一种常见原因是图形API的选择不当[^4]。 另一种可能性在于应用程序未能正确处理启动过程中的UI切换逻辑,特别是在从启动画面过渡到主界面的过程中出现问题[^3]。 此外,权限管理不善也可能成为导致此现象的因素之一,尤其是在较高版本的操作系统中,由于安全机制加强,如果应用未被授予必要的访问权,则可能导致初始化失败进而造成黑屏[^1]。 最后,长时间停留在黑色加载页面通常是因为引擎内部资源加载耗时较长所致[^2]。 ### 解决方案概述 针对上述提到的各种潜在原因,可以采取以下措施来尝试解决问题: #### 调整Graphics API设置 确保项目配置文件`ProjectSettings/Graphics.emulator.settings`下的首选渲染路径已设定为支持目标平台的最佳选项,比如OpenGLES3。这一步骤有助于排除因硬件加速兼容性引发的问题。 ```json { "m_RenderingPath": 2, "m_MobileRenderingPaths": [ { "first": "Android", "second": { "m_APIs": ["OpenGLES3"] } } ] } ``` #### 修改启动流程控制代码 通过修改原生Java层代码实现更平滑的应用程序入口动画效果,并及时响应来自C#脚本的通知以移除预览视图,从而减少用户感知上的延迟感。 ```java public class MainActivity extends UnityPlayerActivity { private View bgView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ... 初始化操作 IntentFilter filter = new IntentFilter(); registerReceiver(receiver, filter); // 设置背景图片或其他形式的占位符作为初始展示内容 setContentView(R.layout.activity_main); bgView = findViewById(R.id.bg_view); } public void onHideSplash() { try { if (bgView != null && !isFinishing()) { runOnUiThread(() -> { ((ViewGroup)getWindow().getDecorView()).removeView(bgView); bgView = null; }); } } catch (Exception e) { Log.e("MainActivity", "Failed to hide splash screen.", e); } } } ``` #### 完善权限请求策略 仔细审查并调整manifest清单文档内的声明项,保证所有必需的功能模块都能获得适当级别的授权;同时考虑动态申请敏感权限的方式,以便更好地适应不同ROM厂商定制化程度较高的环境变化需求。 ```xml <uses-permission android:name="android.permission.CAMERA"/> <!-- Add other required permissions here --> <application> <!-- Other configurations --> </application> ``` #### 减少初次加载时间 优化场景构建方式以及素材压缩率等手段降低整体体积大小的同时加快解压速度,以此缩短首次进入游戏前漫长的等待周期,改善用户体验质量。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值