问题:unity error invalid command android

原因:Android版本较新,Unity版本太旧(如4.X),Unity打包APK时调用Android工具使用的命令已被安卓弃用了(而Unity不知道)。
办法:替换Android/Sdk/tools文件夹下的所有内容为老版本的tools。(记得把原来的tools先备份)
 

问题:UnityEditor.BuildPlayerWindow+BuildMethodException: Build failed with errors.

at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x001b9] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:162
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83
UnityEditor.HostView:OnGUI()
原因一:Unity不允许打包到项目的Assets文件夹中。
办法:更换一个Build输出目录(如输出到桌面)。
原因二:Unity2017.1版本中倒出时选择的Build System是内置的(Internal),且Player Settings里没有打上签名(用的Internal默认的Debug签名)
办法:Build System选择Gradle,在Player Settings中设置签名。
 

问题:CommandInvokationFailure: Failed to re-package resources.

场景:做安卓Unity混合开发,把安卓项目导入Unity后再用Unity构建项目时,可能会发生这个错误。
原因:直接参照报错来一个个处理。如图,是安卓项目在读取清单文件AndroidManifest.xml时找不到mipmap文件夹下的图片。我用Android Studio2.3.3创建的项目默认没有mipmap文件夹的,自然找不到需要的资源。新建该文件夹并从mipmap-hdpi文件夹中拷贝图片过来即可。
 

问题:Unity可以导出APK,但是不能安装到模拟器/真机上运行。

原因:模拟器上面有过该软件的早期版本,要先卸载了才能再装新版本上去。
 

问题:Unable to list target platforms

参考:https://stackoverflow.com/questions/42538433/not-finding-android-sdk-unity

一种说法是Unity5.5与Androi的SDK tool版本冲突,需要重新下载并替换调安卓SDK目录下的tool文件夹。

但我在尝试后依然报这个错,又看到一种说法这是Unity5.5的Bug,需要升级到5.6或2017.1才能解决。

看来真是版本问题5.6.1修好了,后边的版本又重复出现,是个蛮严重的bug了。

https://forum.unity.com/threads/unity3d-5-5-0fx-unable-to-list-target-platforms-error.446096/page-2

我下了Unity2017.3.0f3再试依然,又多了个新问题:

unity sdk build tools version 0 < 24

一直提示安卓的SDK tool工具版本太低,照上面的方法下载r25.2.5去替换tools也不行。最后检查Android Studio发现,在SDK Manager中默认是没有装上Android SDK Tools这项的!

补装上去(版本号大于24),Unity这边就能导包APK成功了!

 

Gradle编译报错

UnityEditor.BuildPlayerWindow+BuildMethodException:  errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
CommandInvokationFailure: Gradle build failed.
C:/Program Files/Java/jdk1..0_131\bin\java.exe -classpath "D:\Unity 2017.3.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"

检查Player Settings中的包名,密钥库路径,密钥库密码。

 
 

【Unity】打包安卓APK常见问题的更多相关文章

  1. UNITY 打包安卓APK

    1,安装JDK.这个直接下就行了. 2,安装android sdk相关.这个比较蛋疼,官网是被墙的.有些网站的包还是需要访问墙外下载的.关键是找对那个能用的包(对我来说就是不FQ). http://p ...

  2. SDK,JDk,Unity打包安卓apk

    SDK:软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. ...

  3. 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录

     前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...

  4. IONIC 打包安卓apk详细过程

    参照以下链接: https://blog.csdn.net/qq_20264891/article/details/79319408 当 cordova 项目安装的 android 平台版本 与 系统 ...

  5. unity打包安卓应用及生成签名

    首先,先进行安卓应用的打包.File->build Settings 弹出界面后选择Android,注意,这里如果黄色区域内容与我这个不一致,说明电脑上没有安装studio(安卓开发环境),具体 ...

  6. Ionic项目打包安卓APK

    之前用Ionic+Angular做了几个小应用Demo,现在用其中一个做实验试下打包安卓的APK安装包.(备注:我用的应用demo是之前博客里写的汇率的Demo,不清楚的同学可以查哈~) 我是用ion ...

  7. IONIC3 打包安卓apk详细过程(大量图文)

    经历三天的踩坑,跳坑,相信绝大多数的问题都已经覆盖到了,请仔细按照流程来对照操作及检查. 1.基本依赖环境 nodejs环境 (作为一个前端相信你已经有了)  最好提前配置好node的环境变量,便于全 ...

  8. 【Unity笔记】打包安卓APK时Build Setting中的三种Build System

    Internal(Default):Unity内置,仅需Android SDK支持.不能导出工程,适用于仅适用Unity开发的工程. Gradle(New):使用Gradle进行构建,需要Androi ...

  9. cocos2dx 3.x(在Mac平台下利用Eclipse打包安卓apk安装包详细教程)

    最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入"java -version" 点击回车后,出现如下提示: 我们的M ...

随机推荐

  1. Eclipse 使用 VS Emulator for android 调试环境配置 步骤

    模拟器启动器地址:C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe 获取模拟器ID命令:emulatorcmd ...

  2. 为什么redis使用单线程还能这么快?

    通常来讲,单线程处理能力要比多线程差,但是redis为什么就快了,这主要得益于以下几个原因: 1.纯内存访问,redis将所有数据放在内存中,内存的响应时长大约为100纳秒,这是redis达到每秒万级 ...

  3. C++笔记(1)

    C++笔记1文件与流笔记 参考博客: https://blog.csdn.net/kingstar158/article/details/6859379       关闭文件中: 当文件读写操作完成之 ...

  4. Oracle DBA最常用的269条命令

    1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog ...

  5. 淘宝客知道这几个ID,收入将会提高50%

    基础问题天天说,天天有人问.这篇文章写点基础的.特别对新手的帮助会很大哦. 1,PID,做淘宝客不知道PID,赚到钱也会被冻结. 如何手动获取PID 2,单品ID,淘宝商品的唯一识别编号,和身份证一样 ...

  6. Python中的闭包 - Closure

    Python中的闭包不是一个一说就能明白的概念,但是随着你往学习的深入,无论如何你都需要去了解这么一个东西. 闭包的概念 我们尝试从概念上去理解一下闭包. 在一些语言中,在函数中可以(嵌套)定义另一个 ...

  7. access十万级数据分页

    最近的一个项目采用winform+access,但后来发现客户那边的数据量比较大,有数十万条数据.用sql语句进行分页,每次翻页加载都需要8秒钟左右,实在难以忍受. 后来百度了一下,发现一篇文章我的A ...

  8. Flask--SQLAlchemy--基本查询备忘

    SQLAlchemy查询过滤器: 查询所有用户数据 User.query.all() 查询有多少个用户 User.query.count() 查询第1个用户 User.query.first() 查询 ...

  9. 关于Verilog中begin-end & fork-join

     转载:http://blog.sina.com.cn/s/blog_6c7b6f030101cpgt.html begin-end and fork-join are used to combi ...

  10. mysql ibdata1

    ibdata1是什么? Mysql ibdata1即Innodb data1缩写,是innodb引擎的表空间,用于存放 数据字典Data dictionary:  只读的表,存储对象的相关信息,如占用 ...