V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
howellz
V2EX  ›  Android

Gradle 中修改了 apk 的输出目录, Android Studio 中调试 app 的时候找不到对应的 apk 文件。

  •  
  •   howellz · 2020-09-08 15:08:53 +08:00 · 8991 次点击
    这是一个创建于 1538 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 app 的 build.gradle 中通过outputDirectoryoutputFileName修改目标 apk 文件的输出目录后,使用菜单"Run"->"Debug app..."时就会失败,提示 apk 文件无效(提示的是仍然默认的输出文件目录和文件名)。

    错误提示如下:

    Installation did not succeed.
    The application could not be installed.
    
    List of apks:
    [0] 'C:\Android\Test\app\build\outputs\apk\debug\app-debug.apk'
    Installation failed due to: 'Invalid File: C:\Android\Test\app\build\outputs\apk\debug\app-debug.apk'
    Retry
    

    修改版本输出目录的脚本如下:

    applicationVariants.all { variant ->
            variant.outputs.all { output ->
                def app = applicationId
                def type = variant.buildType.name
                def releaseApkName = "${app}-${versionCode}.apk"
                variant.packageApplicationProvider.get().outputDirectory = new File("build/apk/${type}")
                outputFileName = releaseApkName
            }
        }
    }
    
    6 条回复    2020-11-04 21:32:30 +08:00
    Macolor21
        1
    Macolor21  
       2020-09-08 18:18:11 +08:00
    Run “-> Debug App...”这一步通过参数指定 APK 文件地址试试?
    firemeteor
        2
    firemeteor  
       2020-09-08 18:41:04 +08:00 via Android
    4
    howellz
        3
    howellz  
    OP
       2020-09-08 20:39:08 +08:00
    @Macolor21 请问具体是怎么指定啊?只看到 Depoly 中有"Default APK", "APK from app bundle", "Custom artifact"和"nothing",并没有看到具体如何指定 apk 的位置。谢谢~
    likaci
        4
    likaci  
       2020-09-08 21:00:27 +08:00
    if (variant.buildType.name != "debug") {
    variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/release")
    }
    howellz
        5
    howellz  
    OP
       2020-09-08 21:23:05 +08:00
    @likaci 谢谢回复,这种修改输出目录时过滤 debug 版本的方法是我正在用的方法,但是我想找到更加规范的做法。
    zhuz
        6
    zhuz  
       2020-11-04 21:32:30 +08:00
    遇到了同样的问题,大佬有找到方法嘛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3671 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:38 · PVG 12:38 · LAX 20:38 · JFK 23:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.