android studio - 如何制作两个自定义应用程序类

标签 android android-studio android-productflavors leakcanary

我想为我的 android 项目设计两个自定义应用程序。自定义应用程序是扩展应用程序的应用程序。我希望我的发布版本有一个自定义应用程序,而调试版本有另一个。 LeakCanary 网站对此进行了讨论 here在标记为“自定义和使用无操作依赖项”的部分中。

我似乎无法弄清楚如何在 androidManifest 中声明另一个应用程序。现在我将其设置为使用这样的单个自定义应用程序:

public class MyFirstCustomApplication extends Application {

@Override public void onCreate() {
    super.onCreate();
    LeakCanary.install(this);
}
}

如何使上述代码仅用于调试?

androidManifest 覆盖看起来像这样:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:name="org.somesite.cool.MyFirstCustomApplication">

如何发布另一个 MySecondCustomApplication?

更新:关于在 gradle 中查看 bulidTypes 的建议,想象一下我为我的调试应用程序覆盖做了以下结构:

[Project Root]
  -[Module]
    -src
      -main
        -ExampleApplication 
        -res

      -debug
        -DebugExampleApplication
        -res

所以如果我正确理解 buildTypes 那么如果我只有一个主文件夹用于发布和调试(它的默认/回退)但是如果我指定一个调试文件夹那么如果我运行任何调试风格我可能会喜欢mockDebug、qaDebug 等然后它将首先在 debug 文件夹中查找文件,如果找不到则转到 main,对吗?

此外,我将如何在我的 list 中声明使用哪一个? gradle 文件会是什么样子?

最佳答案

如果您需要使用两个不同的类,您始终可以利用 list 合并。在调试文件夹中,添加您的第二个应用程序类和仅包含新应用程序名称的 list

<manifest package="your.package"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <application
        android:name=".DebugExampleApplication"
        tools:replace="android:name"/>
</manifest>

关于android studio - 如何制作两个自定义应用程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31766829/

相关文章:

android - 处理产品口味时,main/AndroidManifest.xml 中的包名称应该是什么?

android - 如何将商家订单号转换为 Google 订单号?

android - 在 Android 中将联系人数据加入我的表格

Android:9 补丁图像 vs 形状 vs 多图标

Android Studio 0.4.0 + ABSherlock + gradle 没有 "import module"

java - 如何修复 “Expected file collection to contain exactly one file, however, it contains more than one file.”

android - 如何将 fragment 变量访问到主 Activity 类中

java - 如何在 Java Android 中使用 ViewPager 滑动选项卡的单个 fragment

android-studio - Gradle:如何在多维风格的 buildTypes 中设置signingConfig

Android Manifest 如何用 Flavor Activity 替换 Activity