小编Nic*_*hek的帖子

Android Studio不按包名显示日志

在日志中运行项目后添加过滤器,例如"app:My_Package_Name"

在/.idea/workspace.xml中添加:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="AndroidConfiguredLogFilters">
    <filters>
      <filter>
        <option name="logLevel" value="verbose" />
        <option name="logMessagePattern" value="" />
        <option name="logTagPattern" value="" />
        <option name="name" value="app: com.zastavok.net" />
        <option name="packageNamePattern" value="com.zastavok.net" />
        <option name="pid" value="" />
      </filter>
    </filters>
Run Code Online (Sandbox Code Playgroud)

但是在这个过滤器中没有结果: 在此输入图像描述

但如果我将过滤器更改为"无过滤器",则会显示所有结果: 在此输入图像描述

如何通过Package_Name解决日志问题?

logging android android-logcat android-studio android-log

9
推荐指数
1
解决办法
4913
查看次数

无法找到方法'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'

的build.gradle

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'me.tatarka:gradle-retrolambda:3.6.1'
        classpath 'com.google.gms:google-services:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序/的build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0'
    }
}


      android{
            compileSdkVersion = 26  
            buildToolsVersion = "26.0.2"
    defaultConfig {
            minSdkVersion = 16
            targetSdkVersion = 26

        }
    ...
    applicationVariants.all { variant ->

        variant.outputs.all { output ->
            outputFileName = "newApkName.apk"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何解决问题:

Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'.
Run Code Online (Sandbox Code Playgroud)

此意外错误的可能原因包括:Gradle的依赖性缓存可能已损坏(这有时会在网络连接超时后发生.)重新下载依赖项和同步项目(需要网络)Gradle构建过程(守护程序)的状态可能已损坏.停止所有Gradle守护进程可以解决此问题.停止Gradle构建过程(需要重新启动)您的项目可能正在使用第三方插件,该插件与项目中的其他插件或项目请求的Gradle版本不兼容.在损坏的Gradle进程的情况下,您还可以尝试关闭IDE,然后终止所有Java进程.

android build.gradle android-gradle-plugin butterknife

8
推荐指数
1
解决办法
3392
查看次数

如何避免为每个视图添加注入方法?

目前,要在活动中获取Picasso的实例,我需要向AppComponent添加注入方法.如何避免添加inject方法,因为我有很多片段和视图应该注入:

AppComponent.class:

@ForApplication
@Singleton
@Component(
        modules = {AppModule.class,OkHttpClientModule.class,NetworkApiModule.class,NetworkAuthModule.class})
public interface AppComponent {
    void inject(Fragment1 obj);
    void inject(Fragment2 obj);
    void inject(Fragment3 obj);
    void inject(Fragment4 obj);    
    void inject(Fragment5 obj);    
    void inject(Fragment6 obj);
    ...
    }
Run Code Online (Sandbox Code Playgroud)

Fragment1.class

public class Fragment1 extends Fragment {
    @Inject Picasso mPicasso;
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MyApplication.getComponent(getContext()).inject(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的课程 :

AppModule.class:

@Module
public class AppModule {
    private MyApplication mApplication;

    public AppModule(@NonNull MyApplication mApplication) {
        this.mApplication = mApplication;
    }

    @Provides
    @NonNull
    @Singleton
    public Application provideApplication() { …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection dagger-2

7
推荐指数
1
解决办法
390
查看次数

如何制作RxErrorHandlingCallAdapterFactory?

我找到了这个.

但是在compile 'com.squareup.retrofit2:adapter-rxjava:2.2.0'CallAdapter的新版本中它有两个参数 CallAdapter<?,?>

如何将RxCallAdapterWrapper修改为implementifCallAdapter<?,?>

error-handling android rx-java rx-android retrofit2

7
推荐指数
2
解决办法
2716
查看次数

DexArchiveMergerException:无法合并dex - Android Studio 3.0 Stable

我做了:

  • 在"设置" - >"Android SDK" - >"SDK工具" Google Play services中检查并安装v.46
  • 删除文件夹 /.gradle
  • "清洁工程"
  • "重建项目"

错误是:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Run Code Online (Sandbox Code Playgroud)

这是命令的输出 gradlew -q app:dependencies>>app_dependencies.txt

运行命令后, gradle :app:assembleDebug --stacktrace 我得到这个:

> Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

 After run of the command
`gradle :app:assembleDebug --stacktrace` 
Error is:

:app:javaPreCompileDebug UP-TO-DATE
:app:compileDebugJavaWithJavacAn exception has occurred in the compiler (1.8.0_152-release). Please file a bug against the Java compiler via the …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin android-studio-3.0

7
推荐指数
1
解决办法
2万
查看次数

为什么具有运行时作用域的库被添加到debugCompileClasspath?

如果我将lib添加到项目中,并运行命令:

> gradlew -q app:dependencies --configuration debugCompileClasspath > app_dependencies_compile.txt
Run Code Online (Sandbox Code Playgroud)

为什么com.github.kolyall:utils:1.0.4lib获取com.android.support:appcompat-v7带有runtime范围的lib(和其他)CompileClasspath?如果他们的范围应该是runtime,为什么他们被添加到CompileClasspath

输出是:

\--- com.github.kolyall:utils:1.0.4
     +--- net.danlew:android.joda:2.8.2
     |    \--- joda-time:joda-time:2.8.2
     +--- com.android.support:appcompat-v7:28.0.0-alpha3 -> 28.0.0 (*)
     +--- com.android.support:design:28.0.0-alpha3
     |    +--- com.android.support:support-annotations:28.0.0-alpha3 -> 28.0.0
     |    +--- com.android.support:support-compat:28.0.0-alpha3 -> 28.0.0 (*)
     |    +--- com.android.support:support-core-ui:28.0.0-alpha3 -> 28.0.0 (*)
     |    +--- com.android.support:support-core-utils:28.0.0-alpha3 -> 28.0.0 (*)
     |    +--- com.android.support:support-fragment:28.0.0-alpha3 -> 28.0.0 (*)
     |    +--- com.android.support:transition:28.0.0-alpha3
     |    |    +--- com.android.support:support-annotations:28.0.0-alpha3 -> 28.0.0
     |    |    \--- com.android.support:support-compat:28.0.0-alpha3 -> …
Run Code Online (Sandbox Code Playgroud)

java android pom.xml maven bintray

7
推荐指数
1
解决办法
120
查看次数

无法更新到com.google.gms:google-services:4.2.0

在开始google-services ver.是classpath 'com.google.gms:google-services:4.1.0',但当我改变它4.2.0时发生的错误Sync Project with Gradle files

我的顶级gradle:

 // Top-level build file

apply plugin: 'kotlin'

buildscript {
    ext.kotlin_version = '1.3.20'
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }

        maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }

    }
    dependencies {

        classpath 'com.android.tools.build:gradle:3.2.1'

        classpath 'com.google.gms:google-services:4.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.orhanobut.tracklytics:tracklytics-plugin:2.0.0'

        classpath 'io.fabric.tools:gradle:1.+'

        classpath "io.realm:realm-gradle-plugin:5.8.0"

    }
}

allprojects {
    repositories {
        mavenLocal()
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://jitpack.io" }
    }

    configurations.all {
        exclude group: 'org.jetbrains.kotlin', …
Run Code Online (Sandbox Code Playgroud)

android gradle firebase google-play-services android-studio

7
推荐指数
2
解决办法
1558
查看次数

无法使用Kotlin将领域集成到android库模块中

我的顶级build.gradle

apply plugin: 'kotlin'


buildscript {
    ext.kotlin_version = '1.3.30'
    repositories {
        mavenLocal()
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
        //region realm
        maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
        //endregion
    }
    dependencies {
        //region google()
        classpath 'com.android.tools.build:gradle:3.3.2'
        //endregion
        //region jcenter()
        classpath 'com.google.gms:google-services:4.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        //endregion
        //region maven { url 'https://maven.fabric.io/public' }
        //to check fabric gradle ver
        //https://s3.amazonaws.com/fabric-artifacts/public/io/fabric/tools/gradle/maven-metadata.xml
        classpath 'io.fabric.tools:gradle:1.+'
        //endregion
        //region realm
        classpath "io.realm:realm-gradle-plugin:5.8.0"
        //endregion
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的图书馆模块build.gradle

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'realm-android' …
Run Code Online (Sandbox Code Playgroud)

android realm kotlin

7
推荐指数
1
解决办法
376
查看次数

如何在显示小吃栏时推送现有视图?

这是我尝试在snackbar可见时向上推"NEXT"按钮:

如您所见,它无法按计划运行.看起来似乎textview被推到了后面RelativeLayout然后在snackbar消失时重新出现.相反,我想要的是textview出现向上推(因此它在上方snackbar),然后在snackbar消失时再回来.我还创建了一个小的github repo来证明这一点:

https://github.com/Winghin2517/TestFabMotion

这是CoordinatorLayout.Behavior我用于"NEXT"隐藏自己.当snackbar出现时,当它被推高时,行为取自FAB行为:

public class FloatingActionButtonBehavior extends CoordinatorLayout.Behavior<TextView> {

    public FloatingActionButtonBehavior(Context context, AttributeSet attrs) {
    }

    @Override
    public boolean layoutDependsOn(CoordinatorLayout parent, TextView child, View dependency) {

        return dependency instanceof Snackbar.SnackbarLayout;
    }

    @Override
    public boolean onDependentViewChanged(CoordinatorLayout parent, TextView child, View dependency) {

        float translationY = Math.min(0, dependency.getTranslationY() - dependency.getHeight());
        child.setTranslationY(translationY);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我用这个xml试过这个:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android behavior android-snackbar android-coordinatorlayout

6
推荐指数
1
解决办法
3581
查看次数

无法在AndroidStudio 2.1 Beta中从GitHub克隆

安装Git: 在此输入图像描述

可以使用我的帐户访问GitHub

在此输入图像描述

但无法从列表中克隆存储库: 在此输入图像描述

更新: 今天可用AndroidStudio 2.1 Beta 2 问题已解决,但它只适用于http. SSH不起作用

此对话框显示3次.然后错误: 失败并显示错误:致命:无法从远程存储库读取. 在此输入图像描述

Android工作室日志:

2016-04-15 13:03:39,507 [5583156]   INFO -  #git4idea.commands.GitHandler - git -c core.quotepath=false push --progress --porcelain origin refs/heads/master:master 
2016-04-15 13:03:41,671 [5585320]   INFO -  #git4idea.commands.GitHandler - java.io.IOException: Authentication failed: 
2016-04-15 13:03:41,671 [5585320]   INFO -  #git4idea.commands.GitHandler - at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:298) 
2016-04-15 13:03:41,672 [5585321]   INFO -  #git4idea.commands.GitHandler - at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:172) 
2016-04-15 13:03:41,672 [5585321]   INFO -  #git4idea.commands.GitHandler - at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137) 
2016-04-15 13:03:41,681 [5585330]   INFO -  #git4idea.commands.GitHandler - fatal: Could not read from remote repository. …
Run Code Online (Sandbox Code Playgroud)

git android android-studio

6
推荐指数
1
解决办法
757
查看次数