在开发任何一个项目的过程中,总会遇到这种或者那种奇奇怪怪的问题,有些时候,有些问题你翻半天网上的各种解决办法都可能解决不了。所以,我把整个研发过程中遇到的问题或者踩过的坑,把行之有效的解决办法记录下来,希望能够帮助到遇到同样问题的你!
IDE问题:Android Studio无法启动,弹框出现unable to access android sdk add-on list
出现这个问题的原因是每次IDE启动时都会检查Android SDK是否正常,而此操作会连接Google的服务,众所周知的原因,可能在国内访问服务会出现慢或者不通的情况,所以这个时候我们可以通过更改配置文件,免去启动检查这一步骤(配置文件在你的Android Studio安装目录下,我的为J:\Program Files\Android\Android Studio\bin\idea.properties):
disable.android.first.run=true
这样,再次重新启动IDE就不会出现那个提示了!
IDE问题:Terminal无法正常加载&SDK Manager无法正常打开
可以看到在IDE的Fatal Errors里面可以看到如下报错信息:
java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
at com.pty4j.windows.WinPty.(WinPty.java:380)
at com.pty4j.windows.WinPtyProcess.(WinPtyProcess.java:71)
at com.pty4j.windows.WinPtyProcess.(WinPtyProcess.java:49)
at com.pty4j.PtyProcessBuilder.start(PtyProcessBuilder.java:109)
***** more cutdown *****

这个问题真的是耗费了我大半天的时间来找解决方案,各种尝试,各种更新Java环境等,最终解决了才知道这个问题早就该避免 —— 我家里电脑账户名是中文“郑凯”!
The reason to why I had these issue was because of the User folder name, which included spaces or cyrillic letters.
My username consists of cyrillic letters.
只需要重新更改我的账户名即可,然后将对应环境变量更新成最新的路径。以下是解决步骤:
- Windows cmd(管理员身份启动)中开启超级管理员账户
net user administrator /active:yes
net user administrator /active:no
//will echo The command completed successfully.
编译问题:一直停留在Running Gradle task 'assembleDebug'...的步骤很久
跟网络被墙有关系,你可以用以下几个步骤更换为国内镜像源完成优化:
- 修改项目中android/build.gradle文件
//修改的地方
//google()
//jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
//google()
//jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-5.6.2-all.zip
代码自动关联问题:发现项目中引入的flutter文件无法找到
第一次创建或者打开项目,需要在当前项目目录下执行如下命令完成关联包的获取:
flutter packages get
//或者
flutter pub get
执行完成之后,就可以看到IDE会重新分析文件并创建关联索引。
IDE问题:手机设备连接正常后,但是Flutter Devices却无法识别到

可以通过下面的方式解决该问题,即在flutter里设置上你的Android SDK的路径:
flutter config --android-sdk /path/to/android/sdk

执行成功之后重启IDE即可发现,设备出现在了Flutter Devices列表里。

包安装问题:在真机上安装包时失败
当打包成功之后向手机上安装APP时报如下错误:
√ Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install G:\APP\Flutter\zkbhj_music_app\build\app\outputs\apk\app.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
Error launching application on Mi 10 Pro.
是因为安装的APP中使用了与当前CPU架构不一致的native libraries,所以导致报错,因为现在绝大多数的智能手机还都是采用ARM架构的,虽然android是支持ARM和x86架构,但是它们的指令集是有差别的,APP在开发的时候使用的是ARM的本地库,而我们在用AVD创建模拟器的时候使用的是x86的CPU,因此导致报错。只要修改 ndk 的类型重新打个包就可以了。
//android/app/build.gradle
ndk {
//abiFilters "armeabi", "x86", "armeabi-v7a"
abiFilters "armeabi", "armeabi-v7a","arm64-v8a", "x86"
}
重新打包安装即可!
开发一个项目,就像是一场取经之路,总是会经历各种各样未知的困难和问题,但这也正是开发的乐趣所在!每一个解决问题获得的小成就感,是支撑你完成整个项目的一个个小动力!希望遇到过的这些问题能给大家带来一些方便和借鉴!
* 本页内容参考以下数据源:
- https://www.jianshu.com/p/bb3262375425
- https://stackoverflow.com/questions/65717599/android-studio-4-1-1-bypasses-sdk-installation-on-windows-10/65737072
- https://stackoverflow.com/questions/44221688/noclassdeffounderror-during-project-sync-in-android-studio
- https://maven.aliyun.com/mvn/guide
- https://blog.csdn.net/lxd_love_lgc/article/details/107729002