AndroidStudio问题
1、switch-case语句报错解决
Constant expression required
解决方法:
在根目录下的 gradle.properties 中添加 android.nonFinalResIds=false 就可以了
2、汉字乱码问题
1、打开乱码文件,在软件右下角将当前页面的编码格式改为GB2312,弹出的提示消息中选择Reload;
2.重新将GB2312编码的页面改回utf-8,这时候页面的乱码问题就解决了;弹出的提示消息中选择Convert;
3、原有部份类没有切换新的空间
换以下引用
import android.support.annotation.NonNull;==>import androidx.annotation.NonNull;
import android.support.annotation.Nullable;==>import androidx.annotation.Nullable;
import android.support.annotation.Nullable;==>import androidx.annotation.Nullable;
import android.support.v4.content.FileProvider;==>androidx.core.content.FileProvider
4,Http Get Post调用SDK时出现下面异常:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/client/DefaultHttpClient;
华为MATE 20 Pro、小米8 机型安装APP后,调用SDK时闪退,OPPO R9机型没有发现问题,
网上查询了一下,具体不知道什么原因,我猜想应该是HTTP链接的问题(因为之前开发时发现Android 6.0不再支持HTTP,只支持HTTPS),第三方SDK使用红了HTTP访问,所以出现闪退。
<application>
<!--此处省略一万字,其他配置-->
<!--下面是解决问题的uses-library标签-->
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
</application>
Gradle 迁移Kotlin 后 ndk abi 配置
ndk {
abiFilters += listOf("armeabi", "armeabi-v7a")
}
这是我遇到的UnsatisfiedLinkError问题的解决方案,不过我认为它适用于一般情况。
在 gradle.properties 中添加以下行:
android.useDeprecatedNdk=true;
并且在 build.gradle 文件中,在 defaultConfig 字段中有这一行:
ndk {
abiFilters "armeabi", "armeabi-v7a"
}