Unity与安卓开发的一些路径知识
APK安装之后找不到路径
公司的测试机(安卓)基本都是不带SD卡的。
APK在安卓手机上安装之后,使用手机助手类的软件打开文件管理,打开 内置SDK卡/Android/data/ 在这个目录下却发现 找不到以应用的包名(com.xxx.xxx) 开头的文件夹,那比如要打开这个目录查看里面的文件呢?
但是却能看到一些其它APP的目录,那么请检查以下设置:
1、打开 File - Build Settings - 选择 Player Settings ,请确认已经切换到了Android 平台,找到 Configuration 这一部分设置
2、Install Location 选择 Automatic
Write Permission 选择 External (SDCard)
3、重新打包APK,并安装,就可以在文件管理中找到这个目录了。
安卓的写入路径
比如你想在安装目录下创建一个目录并往里面写入文件,路径建议这样写:(和windows下的路径符号不同,而是和浏览器中网络的路径符号相同)
string savePath = Application.persistentDataPath + "/" + "SaveTextures/";
而如果你这样写,那么极有可能出现错误!
string savePath = Application.persistentDataPath + "\\SaveTextures\\"
我在安卓上测试,会出现文件名变成:files\SaveTextures\2017-01-13_02-12-54.png 也就是说文件名变成了路径,所以当你使用路径加载时,就会报文件不存在。
WWW加载的文件协议
使用WWW 加载非Assetbundle文件,比如原始的音乐文件(mp3,wav),原始的贴图文件(png,jpg)
比如这个文件放在应用程序的沙盒内或SD卡内:Application.persistentDataPath
public static string GetFileProtocol()
{
string fileProtocol = "file://";
if (Application.platform == RuntimePlatform.WindowsEditor ||
Application.platform == RuntimePlatform.WindowsPlayer
#if !UNITY_5_4_OR_NEWER
|| Application.platform == RuntimePlatform.WindowsWebPlayer
#endif
)
{
fileProtocol = "file:///";
} return fileProtocol;
}
使用 www 加载示例:
public static IEnumerator LoadByWWW(string fullFilePath, Action<Texture2D> callback)
{
string loadPath = GetFileProtocol() + fullFilePath;
WWW www = new WWW(loadPath);
yield return www;
if (www != null && string.IsNullOrEmpty(www.error))
{
//获取Texture
Texture2D texture = www.texture;
if (callback != null) callback(texture);
}
else
{
Log.LogError("www 加载图片失败:{0}", www.error);
if (callback != null) callback(null);
}
}
测试环境
本文的测试环境如下:
Unity 5.5.0f3
安卓4.2.3
Unity与安卓开发的一些路径知识的更多相关文章
- Unity配置安卓开发环境
1. 首先要安装JDK,从网上下载即可,我用的版本如下图 注意:此时要保存JDK的路径信息,后面需要使用2. 配置环境变量,计算机右键点属性->高级->环境变量3. 在系统中新建环境变量 ...
- Eclipse+ADT+Android SDK 搭建安卓开发环境
Eclipse+ADT+Android SDK 搭建安卓开发环境 要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); eclipse-jee-luna-SR2 ...
- unity开发android游戏(一)搭建Unity安卓开发环境
unity开发android游戏(一)搭建Unity安卓开发环境 分类: Unity2014-03-23 16:14 5626人阅读 评论(2) 收藏 举报 unity开发androidunity安卓 ...
- 程序员带你学习安卓开发,十天快速入-对比C#学习java语法
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
- Android Studio安装、配置教程全 - 安卓开发环境的配置手册
Android Studio的安装.配置 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Downloa ...
- 转:Oculus Unity Development Guide开发指南(2015-7-21更新)
http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=34175 Oculus Unity Development Guide ...
- unity接入安卓SDK,与安卓相互通信
.接SDK是个什么样的活计? SDK的工作流程: 1. 从unity端出发,向安卓发起一系列的请求(unity call android). 2. 安卓端收到unity端调用,然后在具体调用SDK的一 ...
- Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Stud ...
- monkeyrunner之安卓开发环境搭建(一)
在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程 ...
随机推荐
- 实战!基于lamp安装wordpress详解-技术流ken
简介 LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行动态的脚本文件.现在基于lamp搭建wor ...
- c++中的new、operator new、placement new
一.定义 1.new new是c++中的关键字,,其行为总是一致的.它先调用operator new分配内存,然后调用构造函数初始化那段内存. new 操作符的执行过程:1. 调用operator n ...
- JS-面向对象编程-对象方法添加属性
A-对象扩展属性及方法: obj.属性名=属性值 obj[属性名]=属性值 方式一: var obj={}; obj.Name="liming"; obj.Age="27 ...
- git常用命令总结(资源来自廖雪峰)
自己把命令弄出来方便以后看看,,应该有错的emmmm 原文地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67 ...
- [angularjs] angularjs系列笔记(六)http
读取服务器json数据,get方式 <body> <div ng-app="Home"> <div ng-controller="httpT ...
- mybatis_03_ mapper代理方式实现MyBatis的Dao编写
不是用mapper代理方式也能够实现,但是不推荐 Mapper代理的开发方式,程序员只需要编写mapper接口(相当于dao接口)即可.Mybatis会自动的为mapper接口生成动态代理实现类. 不 ...
- JSTL_XML标记库
JSTL_XML 一:说明 如有转载请标明出处 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开 二:XML标记库 Xml标记库主要功能就是为在jsp页面中操作xml提供便利支 ...
- IP是什么 DNS 域名与IP有什么不同
IP地址是在网络上分配给每台计算机或网络设备的32位数字标识.在Internet上,每台计算机或网络设备的IP地址是全世界唯一的.IP地址的格式是 xxx.xxx.xxx.xxx,其中xxx是 0 到 ...
- WPF中在XAML中实现数据类型转换的两种方法
熟悉数据绑定的朋友都知道,当我们在Model中获取一个对象的数据,常常需要对其进行数据转换后显示在UI界面上,比如你用bool类型存储了一个人的性别,但是在界面上却需要经过转化后显示为男或女: 今天又 ...
- JavaScript机器学习之线性回归
译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug ...