更新Android Studio是一件非常恐怖的事情,因为,你可能会和我一样,被各种莫名其妙的事情折腾一个下午,并且,这些东西,可能由于各种情况引起,在Google上不一定能直接搜到解决方法。
本文用于记录升级过程中遇到的问题。
1. Kotlin版本问题
No cached version of org.jetbrains.kotlin:kotlin-stdlib:1.1.3-2 available
现象:更新后,又是要我禁用Gradle在线更新,禁了之后又说找不到相关的缓存。
原因:
由于在升级之前,Android Studio内部设置了网络代理,而Android Studio升级有bug,会将旧版本的代理密码删除
解决:
在系统的Gradle目录下(如C:\Users\UserName\.gradle)内,找到gradle.properties文件,更新systemProp.https.proxyPassword=密码
2. SDK找不到
现象:
提示找不到Android SDK路径,然而已经配置了
解决:
Open Module Settings → 切换一个新的Compile SDK Version、Build Tools Version → 刷新即可
2. NDK问题
在升级到Android Studio 3.1.3版本后,使用了NDK的工程在编译时是通过的,但是在打包成APK时报错,提示
Caused by: java.io.IOException: Cannot run program "D:\AndroidSdk\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip" (in directory "D:\AsProjects\WowVideo\app"): CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 10 more
Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 11 more
原因:
由于新版本的NDK删除了上述Log中相应的文件。
解决:
下载旧版本的NDK,并且将文件拷贝到对应的目录下。
下载地址:https://developer.android.com/ndk/downloads/older_releases,本次解决问题选择16版本,因为就是最新的17删除了该文件。
拷贝的位置:
\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64
→→→→→→
D:\AndroidSdk\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\
Stackoverflow相关地址:
https://stackoverflow.com/questions/42739916/aarch64-linux-android-strip-file-missing
网友评论