小编Gor*_*ets的帖子

Android Studio项目风格的Java源目录未呈现为蓝色

我有一个Android Gradle项目,我想创建两个风味分支.我使用具有以下结构的默认sourceSets:

src
  - main
    - java
      - package   
    - res
    - manifest.xml

  - flavor1
    - java
      - package

  - flavor2
    - java
      - package
Run Code Online (Sandbox Code Playgroud)

"main/java","flavor1/java"在IDE中呈现/注释为Java源代码(即"java"为蓝色,目录显示为包),但"flavor2"的呈现方式不同.

我试图清除缓存并重新启动Android Studio,但这没有帮助.我怎样才能解决这个问题?

android gradle android-studio

22
推荐指数
2
解决办法
6372
查看次数

Crashlytics.项目开发人员无效

当我尝试上传新的flavor版本时,我收到一个错误:

警告 - Crashlytics在上传发行版时遇到问题.项目开发人员无效

如何修复它并flavor为测试添加新内容?

android crashlytics

16
推荐指数
3
解决办法
7042
查看次数

Json到kotlin数据类

是否存在用于从json模型生成kotlin数据类的服务,以及它在http://www.jsonschema2pojo.org/站点上的工作方式?我的新项目有过多复杂的API响应,所以它可以节省我的时间.

java android json gson kotlin

13
推荐指数
1
解决办法
8714
查看次数

将.java文件作为Java源文件包含在Android Studio中,以删除带有"J"的红色圆圈

今天更新android studio后我的源文件夹在项目标记如下("J"里面有一个红色圆圈标记).我该如何解决?我尝试了清除缓存,重新导入项目,使用gradlew clean build,但它没有帮助. 在此输入图像描述

的build.gradle

apply plugin: 'android'
apply plugin: 'android-apt'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"


    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    lintOptions {
        abortOnError false
    }
}

def AAVersion = '3.0.1'
dependencies {
   ......
}

apt { …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

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

Firebase性能监视器导致“ D8:不支持的源文件类型”

我加了

apply plugin: 'com.google.firebase.firebase-perf'
Run Code Online (Sandbox Code Playgroud)

当我运行build脚本时,我得到了

/transforms/FirebasePerformancePlugin/dev/debug/174/module-info.class:D8:不支持的源文件类型

这可能是什么问题?

我更新了所有插件,播放服务和Android Studio,但没有运气

performance plugins android

12
推荐指数
3
解决办法
404
查看次数

ViewHolder - 良好的做​​法

一个小小的新手问题.我们为什么要初始化ViewHoldergetView()?为什么我们不能在构造函数中初始化它?

android android-viewholder

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

具有产品风味的Android GCM

我有GCM示例android gradle项目.它运行良好,当我添加2种口味时,推送通知停止工作.我的编译清单(取自app\build\intermediates\manifests\ex\debug)文件如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.flavor.app"
    <uses-permission android:name="com.flavor.app.permission.C2D_MESSAGE" />

    <permission
        android:name="com.flavor.app.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

        <receiver
            android:name="com.google.android.gcm.GCMBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="com.flavor.app" />
            </intent-filter>
        </receiver>

        <service android:name="com.ex.app.GCMIntentService" />
        <service
            android:name="com.ex.app.AppLocationService"
            class=".AppLocationService" >
            <intent-filter>
                <action
                    android:name=".AppLocationService"
                    android:value=".AppLocationService" />
            </intent-filter>
        </service>
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?请帮忙.

UPD1.我正在使用gradle v.0.12 +.我认为我的最终清单文件看起来不错,GCMRegistrar.checkManifest(this); - 没有错误,但GCMRegistrar.isRegistered(this)总是假的.=(

UPD2.我的第一个带有原始包名称的flavor项目(作为main分支中的项目)运行良好,但是更改包的第二个风格不起作用(pushId仍然是空的),但是在清单文件中,所有的permitions都是正确的.

java android gradle google-cloud-messaging android-productflavors

10
推荐指数
2
解决办法
3284
查看次数

意式浓缩咖啡执行点击

我试图用'espresso'编写简单的测试

@RunWith(AndroidJUnit4.class)
@LargeTest
public class EspressoTest {
    @Rule
    public ActivityRule<IntroActivity> mActivityRule = new ActivityRule(IntroActivity.class);

    public EspressoTest() {
        IdlingPolicies.setMasterPolicyTimeout(1000, TimeUnit.SECONDS);
    }

    @Test
    public void testShouldClickEmailButton() {
            onView(withText(R.string.in_email)).perform(click());
    }


}
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误:

PerformException: Error performing 'single click' on view 'with string from resource id: <2131099761>[in.email] value: Login With Email'.
Run Code Online (Sandbox Code Playgroud)

我正在尝试不同的测试框架,robotium目前为止对我来说是最好的,但是如果有人可以解决此错误,我将不胜感激

UPD更详细的日志

由以下原因引起:java.lang.RuntimeException:由于目标视图与以下一个或多个约束不匹配,因此不会执行操作:向用户显示视图区域的至少90%。目标视图:“ DSeparatedButton {id = 2131427459,res-name = button_login,可见性= VISIBLE,宽度= 622,高度= 120,has-focus = false,has-focusable = true,has-window-focus = true,is- clickable = true,is-enabled = true,is-focused = false,is-focusable = true,is-layout-requested = false,is-selected = false,root-is-layout-requested …

android android-espresso

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

动态功能。错误:处理清单失败

我有一个基本模块,我想创建一个包含一些库的功能。其中一个库位于基础模块中,当我将其移至该功能并将其从基础模块中删除时,出现错误:

APT:错误:找不到资源样式/SDKTheme.Translucent(又名io.app.dev.debug:style/SDKTheme.Translucent)。

如果基础和功能模块具有这种依赖性,它就可以工作,但在这种情况下,我失去了分离的好处。

我发现了一个已知问题:

在动态功能模块的清单中,您不应引用基本模块中不存在的资源。这是因为,当 Google Play 生成您应用的基础 APK 时,它会将所有模块的清单合并到基础 APK 的清单中。因此,如果基础 APK 的清单引用了基础 APK 中不存在的资源,则资源链接会中断。

这是我的问题吗?

android module kotlin

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

片段2片段通信

当我可以简单地使用时,为什么我应该使用Communicating with Other Fragments模式

((MyActivity)getActivity()).doFoo();

在我的Fragment

oop android fragment

4
推荐指数
1
解决办法
534
查看次数

解析每种构建类型的应用程序标签

我想为每种构建类型和风格解析manifestPlaceholders依赖项.例如,我有

 productFlavors {
        dev {
            manifestPlaceholders = ['applicationLabel': 'DevFlavor']
        }

        prod {
            manifestPlaceholders = ['applicationLabel': 'ProdFlavor']
        }
.....

 buildTypes {
        debug {
            def old_name = manifestPlaceholders.get('applicationLabel'); // every time is null
//            def old_name = productFlavors.dev.manifestPlaceholders.get('applicationLabel');  // ITS OK, but not dynamic 
            manifestPlaceholders = [applicationLabel: old_name + ' Dev']
        }
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方案可以添加'Dev'后缀来调试产品口味?

谢谢你的帮助

java groovy android gradle

4
推荐指数
1
解决办法
1973
查看次数

不工作先点击查看

今天,我在应用程序中发现了奇怪的行为。我有一个样式如下的视图(实际上是TextView):

> <style name="EditTextStyle.Default"
> parent="Base.V12.Widget.AppCompat.EditText">
>     <item name="android:textSize">@dimen/TEXT_SMALL_SIZE</item>
>     <item name="android:padding">@dimen/edit_text_default_padding</item>
>     <item name="android:layout_margin">@dimen/edit_text_default_padding</item>
>     <item name="android:textColor">@color/text.total.color</item>
>     <item name="android:background">@null</item>
>     <item name="android:focusable">true</item>
>     <item name="android:clickable">true</item>
>     <item name="android:focusableInTouchMode">true</item> </style>
Run Code Online (Sandbox Code Playgroud)

我需要处理onClick()动作,只有在onCreate()之后第一次单击此视图时,才会出现问题,在其他情况下,所有工作都按预期进行。android跳过了第一次单击,另外选择器也运行良好并且突出显示了视图,但是onClick()方法跳过了第一次单击。

我已经解决了这个问题,没有实现这种风格,但是也许有人可以向我解释为什么或者哪个设置使我的应用程序崩溃了?

android

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