Android11(APIJ级别30) 判断应用存不存在无效 (Android11软件包可见性)

需要在AndroidManifest.xml的manifest节点中添加声明

<queries>
    <!-- TELEGRAM -->
    <package android:name="org.telegram.messenger" />
    <!-- TELEGRAM -->
    <package android:name="org.telegram.messenger.web" />
    <!-- Facebook -->
    <package android:name="com.facebook.katana" />
    <!-- Twitter -->
    <package android:name="com.twitter.android" />
    <!-- WhatsAPP -->
    <package android:name="com.whatsapp" />
    <!-- MESSENGER -->
    <package android:name="com.facebook.orca" />
    <!-- SNAPCHAT -->
    <package android:name="com.snapchat.android" />
    <!-- INSTAGRAM -->
    <package android:name="com.instagram.android" />
</queries>


这里使用的是unity2019.4.x 以上应该也适用

但是unity打包使用的gradle是比较低版本的,不支持这个,所以打包的时候会报错,需要升级一下Gradle到5.6.4及更高版本。

一、先下载指定版本的Gradle

二、修改打包使用的Gradle,打开Editor/Preferences/External Tool

image.png

三、打开Project Settings/Player/Android/Publishing Settings,自定义Gradle

image.png

四、根据三的路径打开这两个文件,使用下面内容替换掉最上面的那行注释。在lintOptions中添加checkReleaseBuilds false。删掉相关行"useProguard **PROGUARD_DEBUG**",准备弃用了,不删会打包失败。

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        // Must be Android Gradle Plugin 3.6.4 or later. For a list of
        // compatible Gradle versions refer to:
        // https://developer.android.com/studio/releases/gradle-plugin
        classpath 'com.android.tools.build:gradle:3.6.4'
    }
}

allprojects {
   repositories {
      google()
      jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}



首页 我的博客
粤ICP备17103704号