【问题标题】:Generating multiple apk生成多个 apk
【发布时间】:2020-05-12 16:48:44
【问题描述】:

我想通过单个构建生成多个 apk。 所有具有不同服务器 URL 的 apk。

应用就像加载webview,所有生成的apk用于webview的URL都不一样。

例如,apk 1 webview 正在加载类似www.url_1.com 的url, apk 2 webview 正在加载类似www.url_2.com的网址

类似的东西。 所有apk之间的区别只是Webview URL,没有别的。

提前谢谢你。等待答复。

如果我做错了,你可以查看这个 repo:https://github.com/asa-odoo/Testing-Apps/tree/master/WebViewDemo

【问题讨论】:

标签: android android-studio build.gradle apk


【解决方案1】:

你可以这样做:

buildTypes {
 debug {
            applicationIdSuffix ".debug"
            buildConfigField("String", "BASE_URL", "\"http://dev.yoururl.com"")
            buildConfigField("String", "API_KEY", "\"ABCXYZ123TEST\"")
        }
        release {
            buildConfigField("String", "BASE_URL", "\"http://prod.yoururl.com"")
            buildConfigField("String", "API_KEY", "\"ABCXYZ123PROD\"")
        }
}

查看 Android 文档:https://developer.android.com/studio/build/build-variants

【讨论】:

  • 谢谢@kike 我也会试试这个。
【解决方案2】:

您要做的是为您的应用创建不同的flavors,然后使用特定于风味的resources(例如,在每个风味的单独values.xml 文件中)为不同的风味指定不同的URL。

例如

app/src/flavorOne/res/values/values.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="webviewUrl">www.url_1.com</string>
</resources>

app/src/flavorTwo/res/values/values.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="webviewUrl">www.url_2.com</string>
</resources>

app/build.gradle

productFlavors {
    flavorOne {}
    flavorTwo {}
}

然后您只需在代码中引用 webviewUrl id,它就会为每个 APK 解析为正确的值。

其他资源:

【讨论】:

  • 您好,感谢您的回答。我按照您的指导方针和 [article] (androidauthority.com/…) 执行步骤,但它只生成一个 apk。不知道我是否错过了什么。
  • gradlew assembleDebug 现在应该构建 2。gradlew assembleFlavoroneDebug 应该只构建 flavorone。这不起作用?
  • 你能检查这个 github repo 如果我犯了任何错误:github.com/asa-odoo/Testing-Apps/tree/master/WebViewDemo
  • 您的app/build.gradle 丢失了productFlavors { facebook{} google{} instagram{} }。请参阅此处了解更多信息:developer.android.com/studio/build/build-variants
  • 是啊..!!!非常感谢 :) 现在,它正在工作。谢谢@kenny_k 你让我开心
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 2020-01-01
  • 2015-05-21
  • 1970-01-01
  • 1970-01-01
  • 2017-03-06
相关资源
最近更新 更多