我想为我的 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/