我只想在调试我的应用程序时解决我的应用程序中的一些依赖关系,例如我只想使用 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) 像这样创建项目结构:
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) 在两个项目之间切换开发模式:
关于android - 在我的应用程序中运行不同的 App 类(用于调试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652920/