SDK踩坑全纪录

No1:

Unity2017.1版本导出的android工程放到Android Studio上跑起来非常卡,Unity2017.3或4版本导出就没问题。

对比后发现gradle文件有差异,特此标注

1)gradle版本改为2.3.0

2)sdk版本改为27或以下

3)android块中加这句

aaptOptions {
    noCompress '.unity3d', '.ress', '.resource', '.obb'
}

资源压缩的问题

No2:

Unity导出的android工程里暴露了唯一的Activity:UnityPlayerActivity,其实就是unity-class.jar包里的UnityPlayerActivity。

我们可以把暴露的Java类删除,继承unity-class.jar包里的UnityPlayerActivity,写一个新的类,这样的话,只要这个类实现了新的接口。Unity那边就可以通过反射调用相同的接口,从而实现了Android与Unity之间交互。

No3:

今天一天都在找权限问题,明明在清单文件里注册了权限,结果打成apk后,清单文件里权限就没了,找了整整一天的原因,结果是接的sdk里隐藏了这句

<uses-permission android:name="android.permission.READ_PHONE_STATE" 
    tools:node="remove"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" 
    tools:node="remove"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    tools:node="remove"    />

sdk是别人写的,让作者改吧

No4:

O7合并代码逻辑,每新建一个分支,提交代码后,都要合并到master主分支,原因是公共库给其他工程用的时候,不需要找最新的版本,只需要下载master分支就是最新的了。

No5:

打包提示:Error:java.lang.RuntimeException: Some file crunching failed, see logs for details

原因:

1.构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀名;

2.一般大多数是出现在图片上,.jpg修改成了.png就会出现这个问题;

3.9patch图片也可能出现这个问题。

解决方法:

gradle文件android块中增加

aaptOptions {
    cruncherEnabled = false
    useNewCruncher = false
}

No5:

错误:uses-sdk:minSdkVersion 1 cannot be smaller than version 4 declared in library 

原因:有类库没有配置最低兼容版本

解决:

defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }

增加即可

No6:

aar里面是不能把其他aar打进去的,解决方法只有

1.多引用一次aar

2.把aar解压,分文件夹合成一个aar

猜你喜欢

转载自www.cnblogs.com/anni-qianqian/p/8777375.html
今日推荐