编译问题
android.enableJetifier=true android.useAndroidX=true (gradle.properties)
AndroidX是为了解决各种官方的Support Library兼容包版本太多的问题,统一有AndroidX代替。 Refactor菜单中有一个功能可以将老代码Convert到AndroidX
Migrate to AndroidX
Jetifier是一个工具,在编译期间,它将Support Library的类库转换为AndroidX对应的类库。
所以以上两项最好同时打开,以便支持AndroidX,自动将老的Support Library转换到AndroidX.
Error: The processing instruction target matching "[xX][mM][lL]" is not allowed.
xml文件中
<?xml version="1.0" encoding="utf-8"?>
必须在文件第一行,前面不能有任何其他内容.
compileSdkVersion,minSdkVersion,targetSdkVersion
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
minSdkVersion 最小API Level, 当设备的API Level小于该值时将无法安装APK.
compileSdkVersion 编译时的Sdk版本(API Level),尽量使用最新的API Level 如当前是29。
编译后该属性不会在APK中。
其它两个属性会在manifest中:
<uses-sdk android:targetSdkVersion="23" android:minSdkVersion="15" />
targetSdkVersion 设备的期望API Level,APP以该API Level的行为和Style渲染UI和API的行为。
同样的API可能在不同的API Level上表现,不同此时可以用该版本来写兼容性代码。getApplicationInfo().targetSdkVersion < Buid.XXXX
网友评论