Android 如何在一个应用程序的基础上发布多个应用程序
我有一个客户端android应用程序,可以使用不同的基本链接。它应该是不同的应用程序和不同的软件包。但是它处理请求\响应的方式是相同的。我需要更改代码中带有链接的一行,但保留所有代码基。我该怎么做Android 如何在一个应用程序的基础上发布多个应用程序,android,android-studio,gradle,Android,Android Studio,Gradle,我有一个客户端android应用程序,可以使用不同的基本链接。它应该是不同的应用程序和不同的软件包。但是它处理请求\响应的方式是相同的。我需要更改代码中带有链接的一行,但保留所有代码基。我该怎么做 我知道图书馆的路,但不适合我。我还听说了一些不同口味的东西。你要找的是gradle产品口味 productFlavors { pro { applicationId = "com.example.my.pkg.pro" } free { app
我知道图书馆的路,但不适合我。我还听说了一些不同口味的东西。你要找的是gradle产品口味
productFlavors {
pro {
applicationId = "com.example.my.pkg.pro"
}
free {
applicationId = "com.example.my.pkg.free"
}
}
定义不同的productFlavors,您可以为每个productFlavors添加不同的strings.xml文件。在构建过程中,正确的一个将放在apk文件中。如果您使用Android Studio或其他gradle构建器,您可以使用productt Flavor 在build.gradle中,您必须定义如下内容:
productFlavors {
Flav2{
applicationId = "com.example.flav1"
}
Flav1{
applicationId = "com.example.flav2"
}
}
然后,您必须使用常量创建一个类。比如说
package com.example.const;
public class Blabla
{
public static final String LINK="";
}
然后,对于src文件夹中的每个味道,您必须使用每个味道的名称创建目录
在每个Flav文件夹中,您必须将要替换的文件放在不同的风格中(例如,out Blabla类)
所以最后你应该得到这样的东西
src/main/java/
stc/Flav1/java/com/example/const/Blabla.java
src/Flav2/java/com/example/const/Blabla.java
每个Blabla类都应该在其内部有特定的链接
在您的“常规”项目中,您只需使用
import com.example.cont.Blabla;
并针对您想要的当前口味使用const-specific
然后你就可以用它来制造特定的味道
grable clean assembleeraseflav1
也许答案有点混乱,但如果你有更多问题,请随意提问:)你可以通过单个应用程序的不同口味来实现这一点(需要在项目中为口味设置gradle文件)。 使用不同的风格,您可以定义不同的字符串文件和源代码(系统将根据风格从不同的文件夹中获取文件)。
查看开发者协会还有一个问题,我使用androidannotations,而apt插件不支持多种风格=\