- 问题:打开另一台计算机上建的Android Studio工程,同步时出现错误提示
This app only has 32-bit [armeabi-v7a,x86] native libraries. This app only has 32-bit [armeabi-v7a] native libraries. Beginning August 1, 2019 Google Play store requires that all apps that include native libraries must provide 64-bit versions.
解决方法:根据提示信息,2019 Google Play store要求必须提供64位版本的native库。打开app中的build.gradle,找到defaultConfig
的ndk
,在abiFilters
中添加一项"arm64-v8a"
。 - 问题:编译另一台计算机上建的Android Studio工程,出现错误提示
A problem occurred starting process 'command 'C:\Users\user\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\ninja.exe''
。
解决方法:打开SDK Manager,将已经安装的NDK移除。重新同步工程,这时会自动下载NDK。再编译,问题得到解决。应该是在同步的过程中自动将cmake的路径做了修改。 - 问题:同步工程时出现错误提示
Caused by: org.gradle.api.InvalidUserDataException: NDK not configured
。
解决方法:点击“File–>Project Structure”菜单项,在弹出的对话框中点击SDK Location,点击Android NDK location选择默认的合适的NDK版本位置,然后点OK。 - 问题:编译时出现错误提示
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "OpenCV", but CMake did not find one.
。
解决方法:打开CMakeLists.txt,设置OpenCV_DIR为OpenCV Android SDK的目录。 - 问题:编译时出现错误提示
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :OpenCVSDK.
。
解决方法:点击“File–>New–>Import Modules”,在弹出的对话框中选择OpenCV Android SDK目录,导入OpenCV Module,Module名称命名为:OpenCVSDK
。 - 问题:运行时出现错误提示
Default Activity not found
。
解决方法:点击“File–>Invalidate Caches / Restart”,Cache会被Invalidate,待工程重新打开后,工程会被自动编译。问题得到解决。 - 问题:编译工程时出现错误提示
Could not get version from cmake.dir path 'C:\Android Sdk\cmake\3.10.2.4988404'.
解决方法:- 打开SDK Manager
- 选中SDK Tools,勾选Show Package Details,再将CMake 3.10.2.4988404前面的勾去除,然后点击Apply按钮,卸载CMake 3.10.2.4988404。
- 重新同步,这时会提示
ERROR: Failed to find CMake. Install CMake
,点击Install CMake安装CMake。
- 问题: 运行时出现
NetworkOnMainThreadException
异常
解决方法: 从Honeycomb SDK 3.0开始,Google不再允许在Main Thread类中进行网络请求类操作,因为这样会阻塞UI,影响用户体验。所以与网络操作相关的比较耗时的操作都应放到一个子线程中,然后用Handler消息机制与主线程通信。 - 问题: 使用URLConncetion时出现错误提示
java.lang.SecurityException: Permission denied (missing INTERNET permission?)
解决方法: 在清单文件中添加<uses-permission android:name="android.permission.INTERNET"> </uses-permission>
- 问题: 在模拟器上运行Android程序访问服务器时提示
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8080
,通过浏览器访问可以正常访问http://127.0.0.1:8080
解决方法: 由于Android模拟器本身也是一个Linux系统,因为访问localhost时是访问模拟器本身的IP地址。所以需要将程序中的localhost或127.0.0.1替换成服务器在局域网中互联网中的地址,如192.168.0.101。 - 问题: 启动应用程序时出现错误提示
The activity must be exported or contain an intent-filter
解决方法: 打开AndroidManifest.xml文件,在对应的activity中添加属性android:exported=”true”
- 问题:在Android Studio中安装Intel HAXM时出现错误提示“The older version of Intel® Hardware Accelerated Execution Manager cannot be removed”
解决方法:Intel HAXM旧版本安装时,其安装文件hax64_legacy.msi存在C:\Users\用户名\AppData\Local\Temp\intel\HAXM\6.2.1\silent
目录中。清理临时文件时,会将该文件清除。因此,当安装Intel HAXM新版本时,需先运行旧版本的安装文件卸载旧版本,而旧版本安装文件已经找不到了,因此会提示无法移除旧版本。解决方法是:
打开https://github.com/intel/haxm/wiki/HAXM-6.x-Release-Archive
,找到旧版本的HAXM
下载安装文件,并将intelhaxm-android.exe进行解压缩
将hax64_legacy.msi拷至C:\Users\用户名\AppData\Local\Temp\intel\HAXM\6.2.1\silent
目录
继续安装新版本,问题得到解决 - 问题: 启动模拟器时出现警告信息
Emulator: Warning: Quick Boot / Snapshots not supported on this machine. A CPU with EPT + UG features is currently needed. We will address this in a future release
解决方法: 打开AVD Manager,选择要修改的虚拟设备,点击修改按钮,在弹出的对话框中点击Show Advanced Settings
,将Emulated Performance
的Boot option
修改为Cold boot
- 问题: 启动模拟器时出现错误提示
Emulator: audio: Failed to create voice
adc’`
解决方法: 右击小喇叭,打开录音设备,右击麦克风,选择“显示禁用的设备”,右击“立体声混音”,选择启用。 - 问题: 连接手机调试时出现错误提示“This adb server’s $ADB_VENDOR_KEYS is not set”
解决方法: 将手机USB线拔下来,重新连接,当出现“允许USB调试吗”提示框时,选择确定 - 问题: 提示
Service Intent must be explicit: Intent
解决方法: 添加intent.setPackage(getPackageName());
- 问题: 运行程序时出现错误提示
The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS
解决方法: 打开app中的build.gradule,在android中添加splits { abi { enable true reset() include 'x86', 'armeabi-v7a','x86_64' universalApk true } }
注意:本文归作者所有,未经作者允许,不得转载
原文地址: http://blog.wsmee.com/post/131
版权声明:非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0