欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发常见问题及解决方法

程序员文章站 2022-03-23 22:14:06
问题:打开另一台计算机上建的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 m....
  • 问题:打开另一台计算机上建的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,找到defaultConfigndk,在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 PerformanceBoot option修改为Cold boot
  • 问题: 启动模拟器时出现错误提示Emulator: audio: Failed to create voiceadc’`
    解决方法: 右击小喇叭,打开录音设备,右击麦克风,选择“显示禁用的设备”,右击“立体声混音”,选择启用。
  • 问题: 连接手机调试时出现错误提示“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
         }
    }
    

本文地址:https://blog.csdn.net/cvbrain/article/details/107878573