android - 在我的应用程序中运行不同的 App 类(用于调试)

标签 android gradle

我只想在调试我的应用程序时解决我的应用程序中的一些依赖关系,例如我只想使用 Stetho 进行调试,而不是在最终版本中,我该如何实现?

我尝试创建另一个名为 debug 的文件夹并创建从我的应用程序扩展的 DebugApp 但我不知道如何运行此 DebugApp,也许我应该添加一些东西 Gradle ?

public class DebugApp extends App {
    @Override
    protected void init() {
        super.init();
        DebugAppInitializer.initStetho(this);
        DebugAppInitializer.initCrashczyk(this);
    }
}

如果我能把它链接到我的 productFlavors 就太棒了

最佳答案

你可以这样写你的代码:

if(BuildConfig.DEBUG){
... //debug init
} else {
....//release init
}

1) 像这样创建项目结构:

enter image description here

2) Gradle 风格:

 productFlavors {
    driver {
        applicationId "android.com.driver"
        versionName "1.0"
        buildConfigField "Boolean", "DRIVER_SESSION", "true"
        minSdkVersion 16
        targetSdkVersion 23
    }
    passenger {
        applicationId "android.com.passenger"
        versionName "1.0"
        buildConfigField "Boolean", "DRIVER_SESSION", "false"
        minSdkVersion 16
        targetSdkVersion 23
    }
}
sourceSets {
    passenger {
        manifest.srcFile 'src/passenger/AndroidManifest.xml'
    }
    driver {
        manifest.srcFile 'src/driver/AndroidManifest.xml'
    }
}

3) 需要创建不同的类并为每个 list 文件放置应用程序名称:

驱动包中的 list ->

 <application
        android:name=".application.YourFirstAppInDriverPackage"
        ...
        >

旅客包裹中的舱单->

 <application
        android:name=".application.YourSecondAppInPassengerPackage"
        ...
        >

4) 在两个项目之间切换开发模式:

enter image description here

关于android - 在我的应用程序中运行不同的 App 类(用于调试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652920/

相关文章:

java - 在外部 Android 存储中保存文件时出错

java - 如何从我的 Android 应用程序通过 WhatsApp 向特定联系人发送消息?

android - Android SlowGradleBuild

gradle - 无法部署 Spring Boot 应用程序

java - 具有多个 Controller 的 Spring Boot API?

android - 在 Android 中跨 "Clear Data"保留数据库?

android - 如何让两个单独的按钮在一个 Activity 中做两件不同的事情?

android.hardware.telephony 中断了模拟器上的安装

android - 如何将 Kotlin 序列化添加到新的 Android 项目?

android - Android Maps API v2、Gradle 和 Android Studio 不会显示 map