小编And*_*tel的帖子

找不到包名称(Google Analytics)的匹配客户端 - 多个productFlavors和buildTypes

语境:

我正在尝试为我的应用设置Google Analytics.(有4个自定义buildTypes和多个productFlavors)

当我选择Build Variant具有applicationId设置的com.my.app.package.name(生成时使用的包名称)时,它工作正常google-services.json.但是,我的其他风格有不同的applicationIds.

我按照官方偏离进行设置.

选择任何其他构建变体时Build Variants Tab(我有一个不同的applicationId(包名)如下所示的错误如下:

错误:任务':app:processAllcategoriesDebugfreeGoogleServices'的执行失败.

找不到包名称'com.my.app.package.name.debug'的匹配客户端

错误消息的说明:

在上面的错误消息中的任务名称Debugfree是我的自定义buildType,Allcategories是我的一个productFlavors.

我理解错误并知道包名称与生成json时使用的不同,但这就是我想要解决的问题.

问题:

现在,google-services.json驻留在app文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中来将它们分离出来.

问题:

  1. 我的自定义byildType调试后缀.debugapplicationId(包名).有没有办法让它可以使用google-services.json我的发布applicationId(即没有后缀.debug)
  2. 有没有办法在同一个google-services.json文件中配置多个产品风格,而不使用单独的文件和任务将所需文件复制到app文件夹.我知道这是可以做到用task作为中提到的这个帖子.是否有更简单的方法可以根据gradle配置选择一个文件或选择正确的文件?
  3. 我看到package_name字段中google-services.json有包名com.my.app.package.name.我可以手动添加多个包名称以适用于所有构建变体吗?如果是的话,怎么做?在文档中找不到任何说明.

android google-analytics gradle android-studio android-productflavors

324
推荐指数
20
解决办法
32万
查看次数

Android SDK文件夹占用了大量磁盘空间.我们需要保留所有系统映像吗?

我的磁盘上有很多系统映像堆积在android sdk文件夹中.我几乎不使用模拟器.可能是6个月一次.我的大多数开发都直接在设备上进行.我想检查的是,将删除系统映像(至少对于旧的APIS即<22)会影响开发吗?

此外,下面看到的谷歌apis文件夹.我应该保留所有版本还是最新版本?

在此输入图像描述

上面的截图来自WinDirStat工具.- https://windirstat.net

sdk android diskspace android-sdk-tools android-studio

235
推荐指数
7
解决办法
11万
查看次数

在Android上打开Facebook App中的Facebook页面(如果已安装)

如果Facebook应用程序可用,我想从我的Android应用程序打开我的Facebook页面 - 如果没有:此页面应该在默认浏览器中打开.

为此,我尝试了以下代码:

try {
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/MY_PAGE_ID"));
startActivity(intent);
} catch (Exception e) {
   startActivity(new Intent(Intent.ACTION_VIEW,    Uri.parse("http://www.facebook.com/MY_PAGE_NAME")));
}
Run Code Online (Sandbox Code Playgroud)

问题是:我这里有一个Android设备,最新版本的Facebook.如果我想从我的应用程序打开Facebook页面,Facebook应用程序将打开,但没有我的页面.

我只看到消息:

无法加载时间线.

怎么了?

android facebook android-intent

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

com.android.ddmlib.AdbCommandRejectedException:设备离线(即使设备已连接)

将Android Studio更新到2.1.2后,当我进行更改时,我收到了以下错误太多次.

com.android.ddmlib.AdbCommandRejectedException:设备脱机

安装APK时出错

问题是设备从未连接且未脱机

如果我拔下并重新插入设备,它会再次正常工作.这在以前版本的AS中从未发生过.

问题:是否有一个设置要在AS中更改才能停止发生或者是一个错误?

android build android-studio

29
推荐指数
3
解决办法
4万
查看次数

25
推荐指数
9
解决办法
8364
查看次数

Android Studio:如何删除/过滤构建变体以进行默认调试和发布buildTypes,并仅保留使用自定义buildTypes的变体?

我创建了自定义buildTypes,如下所示:

 buildTypes {
        releasefree.initWith(buildTypes.release)
        releasefree {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        releasepro.initWith(buildTypes.release)
        releasepro {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            applicationIdSuffix ".pro"
        }
        debugfree.initWith(buildTypes.debug)
        debugfree {
            shrinkResources true
            applicationIdSuffix ".debug"
            debuggable true
        }
        debugpro.initWith(buildTypes.debug)
        debugpro {
            shrinkResources true
            applicationIdSuffix ".pro.debug"
            debuggable true
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不会使用默认的调试和发布构建类型,并希望从构建变体列表中删除它们.我有几种口味,变种列表太大了.删除具有默认调试和发布类型的变体将有所帮助,因为我永远不会使用它们.

我尝试使用变体过滤器如下,但它不起作用

android.variantFilter { variant ->
    if(variant.buildType.name.endsWith('Release') || variant.buildType.name.endsWith('Debug')) {
        variant.setIgnore(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在过滤变体的方式是否有问题,或者是否无法使用默认的调试和发布版本类型删除变体.

android gradle android-studio android-build-type

24
推荐指数
2
解决办法
5167
查看次数

图片未在Fresco中加载

我正在尝试在Fresco中加载图像,但图像似乎没有加载.当我添加占位符视图时,占位符显示.

public static void loadImg(final Context c, final SimpleDraweeView view, final String img){
    Uri uri = Uri.parse("https://placekitten.com/g/201/300");
    view.setImageURI(uri);
}
Run Code Online (Sandbox Code Playgroud)

注意,我正在应用程序中初始化Fresco,并且我在Manifest中有互联网使用.

SimpleDraweeView

        <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/small_box_image"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        fresco:placeholderImage="@drawable/google"
        fresco:fadeDuration="300"
        fresco:viewAspectRatio="1.33"
        />
Run Code Online (Sandbox Code Playgroud)

调用loadImg的方法

public static View generateTileView(Context c, Tile t){

    LayoutInflater inflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view;
    boolean desc = false;

    switch(t.getObjectTypeName()){
        case Tile.OBJECT_NAME:
            view = inflater.inflate(R.layout.view_tile_small_object, null);
            break;
        case Tile.LOOK_CLOSER_NAME:
            view = inflater.inflate(R.layout.view_tile_small_look_closer, null);
            desc = true;
            break;
        case Tile.STORY_NAME:
            view = inflater.inflate(R.layout.view_tile_small_story, null);
            desc = true;
            break;
        case Tile.TOUR_NAME:
            view = …
Run Code Online (Sandbox Code Playgroud)

android fresco

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

android studio底部工具栏的运行选项卡已经消失

在Android工作室的底部工具栏中曾经有一个Run>选项卡..但现在它不再显示它了.如何将它带回来.?请检查下面的图像,看看它消失之前的位置.

运行选项卡用于在TODO选项卡之前的红色圆圈中.

在此输入图像描述

android android-studio androidstudio-settings

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

如何在Android Studio中检测资源变量拼写错误(例如:"%1 $ s")

Android崩溃通常是由包含%1$ s何时%1$s打算的资源引起的.
令我惊讶的是,Android Studio没有显示以下语法错误:

在此输入图像描述

↑上面的真正语法错误是%1$ s(使应用程序崩溃),而不是Android Studio突出显示的省略号.

如何检查Android Studio中的资源变量拼写错误?
我正在寻找相当于lint --check StringFormatInvalid.

上下文:许多半自动语言翻译工具会破坏变量,使应用程序崩溃.

我试过的,不起作用:

Android Studio Lint格式字符串无效 突出显示级别检查

android android-resources android-lint android-studio

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

我们如何使用Excel宏(vba)中的restful API?

是否有一个插件或库可用于从excel访问restful API(可能使用宏),然后将响应存储在某处(可能在工作表中).

原谅丢失的示例代码.我不是VBA程序员.

rest excel vba excel-vba

15
推荐指数
2
解决办法
3万
查看次数