Unity与安卓开发的一些路径知识

简介:



APK安装之后找不到路径

公司的测试机(安卓)基本都是不带SD卡的。

APK在安卓手机上安装之后,使用手机助手类的软件打开文件管理,打开 内置SDK卡/Android/data/ 在这个目录下却发现 找不到以应用的包名(com.xxx.xxx) 开头的文件夹,那比如要打开这个目录查看里面的文件呢?

image

但是却能看到一些其它APP的目录,那么请检查以下设置:

1、打开 File -  Build Settings -  选择 Player Settings ,请确认已经切换到了Android 平台,找到 Configuration 这一部分设置

2、Install Location 选择 Automatic

Write Permission 选择 External (SDCard)

image

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


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/6283763.html,如需转载请自行联系原作者

posted @  2017-01-13 18:31  赵青青 阅读( 315) 评论( 0编辑  收藏

相关文章
|
7月前
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
211 0
|
11月前
|
Android开发 Kotlin
Android 获取当前的类名,包名,路径等
在做项目时,无论为了功能还是调试,很多时候都需要获取到当前类的类名,包名,路径等等。 在这里总结一下,以便总结和以后需要的时候更快的解决问题。
|
存储 移动开发 JavaScript
H5加载Android本地路径图片
H5加载Android本地路径图片
1161 0
|
Java API Android开发
【错误记录】Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )
【错误记录】Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )
601 0
【错误记录】Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )
|
Java Android开发 C++
【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )(二)
【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )(二)
472 0
【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )(二)
|
3月前
|
存储 图形学 Android开发
Unity 数据读取|(一)宏的定义和资源路径
Unity 数据读取|(一)宏的定义和资源路径
|
8月前
|
SQL 数据库 Android开发
Android 访问系统相册选中图片,并返回该图片的路径
Android 访问系统相册选中图片,并返回该图片的路径
96 0
|
11月前
|
Android开发
Android获取相册中图片的路径 4.4版本前后的变化
Android获取相册中图片的路径 4.4版本前后的变化
149 0
|
Java Android开发
android 修改新增jar 路径
android 修改新增jar 路径
337 0
|
Android开发
【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )(二)
【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )(二)
341 0