ViVo手机无法安装run出来的apk-testOnly run出来一直为true

本文介绍如何在Android Studio中解决测试包问题,通过修改AndroidManifest.xml文件中的testOnly属性,确保应用能够正确地在非测试环境中运行。提供了一种在Gradle构建过程中自动修改Manifest文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

点击Android Studio上面的绿色Run按钮,出来的debug apk的AndroidManifest.xml的android:testOnly="true",即使修改为false也没有用。可以使用Build-Build APK(s)来打出testOnly为false的apk,再使用adb命令安装。或者在gradle中强制修改testOnly为false。

判断环境是否为测试环境

//判断是否是线上包(仅通过jenkins的release任务打包或者手动设置BUG_TYPE环境变量或者bugType属性)
def bugTypeIsBeta(){
    if (System.getenv("BUG_TYPE") == "BUG_TYPE_LIVE") {
        return false
    }
    if (hasProperty("bugType") && getProperty("bugType") == "BUG_TYPE_LIVE"){
        return false
    }
    return true
}

根据是否为测试环境,强制修改testOnly为false

app模块下的android节点添加如下代码

if (bugTypeIsBeta()){
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.processManifest.doLast {
                String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
                def manifestContent = file(manifestPath).getText('UTF-8')
                manifestContent = manifestContent.replaceAll("android:testOnly=\"true\"", "android:testOnly=\"false\"")
                file(manifestPath).write(manifestContent, 'UTF-8')
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值