安卓应用
[English]
1. 为什么 APP 无法扫描到 Wi-Fi 或者蓝牙信号?
Android 6.0 之后的系统需要申请位置权限 (android.permission. ACCESS_FINE_LOCATION)。
Android 9.0 之后的系统除申请位置权限外,还需要打开 GPS。
Android 12.0 之后的系统需要申请扫描权限 (android.permission. BLUETOOTH_SCAN)。
更新时间:2022.4.20
2. 为什么扫描 Wi-Fi 和蓝牙信号需要位置权限?
APP 有可能通过解析 Wi-Fi 和蓝牙信息来获取您当前所在的位置,Google 为了您的隐私考虑,对 Android 6.0 之后的相关 API 加入了位置权限需求。
更新时间:2022.4.20
3. APP 需要继承第三方库中的 Application 类,但如需同时继承 MultiDexApplication 怎么办?
在您的 Application 类的 onCreate() 方法中调用 MultiDex.install(this) 即可。
更新时间:2022.4.20
4. APP 发送 http 请求报错是为什么?
Android 高版本中需要使用加密请求例如 https,若您依然需要发送 http 请求,在 AndroidMenifest.xml 中 application 标签下添加 android:usesCleartextTraffic=”true” 即可。
更新时间:2022.4.20
5. 怎么把 APP 的签名文件迁移到 pkcs12?
keytool -importkeystore -srckeystore 源文件 -destkeystore 生成文件 -deststoretype pkcs12
更新时间:2022.4.20
6. 在不安装 Android Studio 的情况下怎么查看 APP 的日志输出?
安装 adb 工具。
在命令终端执行下述命令。
pid=`adb shell ps | grep 包名 | awk '{print $2}'`
adb logcat | grep --color=auto $pid
更新时间:2022.4.20
7. 如何在 Module 的 BuildConfig 中添加模块版本信息?
最新的 Android Studio 编译 Module 已经不会自动添加 VERSION_NAME 信息了,若需要该信息,可以在 Module 对应的 build.gradle 中添加以下命令:
bash
android {
defaultConfig {
buildConfigField "String", "VERSION_NAME", "\"YOUR_MODULE_VERSION\""
}
}
更新时间:2022.4.20