Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Jetifier CI/CD_Android_Androidx_Bitrise_Android Jetifier - Fatal编程技术网

Android Jetifier CI/CD

Android Jetifier CI/CD,android,androidx,bitrise,android-jetifier,Android,Androidx,Bitrise,Android Jetifier,试图在CI/CD环境中使用Jetifier,对我来说,我使用的是bitrise,但真正的问题是我想自动化部署过程。在AndroidX之前,这很好,现在我需要一种通过命令行为整个应用程序使用jetifier的方法。我已经用exclude摆脱了所有可以想象的依赖关系,但是enableJetifier=true没有任何作用,除非您从Android Studio构建。我是否错过了一个gradle插件,而在过去两周的谷歌搜索中我没有找到它?还是这是一个尚未解决的问题?我在詹金斯/快车道遇到了同样的问题。由

试图在CI/CD环境中使用Jetifier,对我来说,我使用的是bitrise,但真正的问题是我想自动化部署过程。在AndroidX之前,这很好,现在我需要一种通过命令行为整个应用程序使用jetifier的方法。我已经用
exclude
摆脱了所有可以想象的依赖关系,但是
enableJetifier=true
没有任何作用,除非您从Android Studio构建。我是否错过了一个gradle插件,而在过去两周的谷歌搜索中我没有找到它?还是这是一个尚未解决的问题?

我在詹金斯/快车道遇到了同样的问题。由于安全原因,
gradle.properties
不应位于存储库中,因此任务将看不到环境变量

解决方案是将
属性
添加到gradle Fastlane任务中:

  desc "Create a release build"
  lane :release do
    remove_apk
    gradle(
        task: "assembleRelease",
        properties: {
            "android.enableJetifier" => "true",
            "android.useAndroidX" => "true"
        }
    )
  end
我不熟悉bitrise,但是此链接可能有助于设置bitrise的设置

一般来说,解决方案(也可能是其他解决方案,如果有人有任何其他注意事项,请告诉我们!):

  • 使用辅助存储库存储您的机密,并使用git克隆,例如使用脚本步骤(如果您想这样做,请确保两个repos!11都可以使用相同的SSH密钥)

  • 在bitrise.io 37上使用应用程序环境变量或机密环境变量-您可以在工作流编辑器(bitrise.io 37上应用程序的工作流选项卡)中找到它们。您在这里定义的变量是常规环境变量,因此您可以以任何方式使用它们,例如,通过脚本步骤,写入文件

  • 使用bitrise.io 37的通用文件存储63功能,上载文件并使用文件下载程序或ZIP资源存档下载程序步骤下载

  • 这些只是主要解决方案的亮点。当然,如果您更喜欢冒险,还有其他可能的方法,例如,将加密的文件存储在存储库中,将加密密钥存储在App Env Var或bitrese.io 37上的Secret Env Var中,并在构建过程中解密文件


    同时检查:

    我在詹金斯/快车道遇到了同样的问题。由于安全原因,
    gradle.properties
    不应位于存储库中,因此任务将看不到环境变量

    解决方案是将
    属性
    添加到gradle Fastlane任务中:

      desc "Create a release build"
      lane :release do
        remove_apk
        gradle(
            task: "assembleRelease",
            properties: {
                "android.enableJetifier" => "true",
                "android.useAndroidX" => "true"
            }
        )
      end
    
    我不熟悉bitrise,但是此链接可能有助于设置bitrise的设置

    一般来说,解决方案(也可能是其他解决方案,如果有人有任何其他注意事项,请告诉我们!):

  • 使用辅助存储库存储您的机密,并使用git克隆,例如使用脚本步骤(如果您想这样做,请确保两个repos!11都可以使用相同的SSH密钥)

  • 在bitrise.io 37上使用应用程序环境变量或机密环境变量-您可以在工作流编辑器(bitrise.io 37上应用程序的工作流选项卡)中找到它们。您在这里定义的变量是常规环境变量,因此您可以以任何方式使用它们,例如,通过脚本步骤,写入文件

  • 使用bitrise.io 37的通用文件存储63功能,上载文件并使用文件下载程序或ZIP资源存档下载程序步骤下载

  • 这些只是主要解决方案的亮点。当然,如果您更喜欢冒险,还有其他可能的方法,例如,将加密的文件存储在存储库中,将加密密钥存储在App Env Var或bitrese.io 37上的Secret Env Var中,并在构建过程中解密文件


    另请检查:

    记录如下:我在Bitrise上启用了Jetifier

  • 转到工作流编辑器>代码签名选项卡
  • gradle.properties
    文件上载到通用文件存储中
  • 回到工作流编辑器,在“Android lint”(或“Android build”)步骤之前插入一个“文件下载器”步骤
  • 将文件下载程序的源设置为刚刚在步骤2中上载的新文件
  • 将目标设置为
    $PROJECT\u LOCATION/gradle.properties
  • 拯救
  • 建造和 享受吧
    为了记录在案,以下是我在Bitrise上启用Jetifier时所做的操作:

  • 转到工作流编辑器>代码签名选项卡
  • gradle.properties
    文件上载到通用文件存储中
  • 回到工作流编辑器,在“Android lint”(或“Android build”)步骤之前插入一个“文件下载器”步骤
  • 将文件下载程序的源设置为刚刚在步骤2中上载的新文件
  • 将目标设置为
    $PROJECT\u LOCATION/gradle.properties
  • 拯救
  • 建造和 享受吧
    你真是天赐之物!你真是天赐之物!