Android AppWidget Timber 未记录
Android AppWidget Timber not logging
我正在尝试从标准 Log 切换到 Timber,以便在将我的应用程序部署到 Google Play 时轻松删除日志消息,但它不起作用
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "org.myapp"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3'
}
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.jakewharton.timber:timber:3.1.0'
}
MyApp.java
package org.myapp;
...
import timber.log.Timber;
import static timber.log.Timber.DebugTree;
public class MyApp extends AppWidgetProvider {
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
if (MyBuildConfig.DEBUG) {
Timber.plant(new DebugTree());
} else {
//Timber.plant(new CrashReportingTree());
}
Timber.d("MyApp.onEnabled");
}
MyBuildConfig.java
package org.myapp;
public class MyBuildConfig {
public static final boolean DEBUG = true;
}
应用程序可以很好地编译
./gradlew assembleDebug
但是做的时候
adb logcat | grep -i thing
我的调试语句不存在。
我仍然希望在调试 apk 中看到调试消息,但在发布 apk 中看不到,有什么问题吗?
我相信这是因为 Timber
在您的 AppWidgetProvider
中找不到标签。
试试这样种树:
Timber.plant(new DebugTree());
Timber.tag("Your_TAG");
Timber.d("...");
移动
Timber.plant(new DebugTree());
从 onEnabled
到 onUpdate
解决了问题,因为 onEnabled
没有被调用,因为 AppWidget
已经安装
我正在尝试从标准 Log 切换到 Timber,以便在将我的应用程序部署到 Google Play 时轻松删除日志消息,但它不起作用
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "org.myapp"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3'
}
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.jakewharton.timber:timber:3.1.0'
}
MyApp.java
package org.myapp;
...
import timber.log.Timber;
import static timber.log.Timber.DebugTree;
public class MyApp extends AppWidgetProvider {
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
if (MyBuildConfig.DEBUG) {
Timber.plant(new DebugTree());
} else {
//Timber.plant(new CrashReportingTree());
}
Timber.d("MyApp.onEnabled");
}
MyBuildConfig.java
package org.myapp;
public class MyBuildConfig {
public static final boolean DEBUG = true;
}
应用程序可以很好地编译
./gradlew assembleDebug
但是做的时候
adb logcat | grep -i thing
我的调试语句不存在。
我仍然希望在调试 apk 中看到调试消息,但在发布 apk 中看不到,有什么问题吗?
我相信这是因为 Timber
在您的 AppWidgetProvider
中找不到标签。
试试这样种树:
Timber.plant(new DebugTree());
Timber.tag("Your_TAG");
Timber.d("...");
移动
Timber.plant(new DebugTree());
从 onEnabled
到 onUpdate
解决了问题,因为 onEnabled
没有被调用,因为 AppWidget
已经安装