语境:
我正在尝试为我的应用设置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文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中来将它们分离出来.
问题:
byildType调试后缀.debug为applicationId(包名).有没有办法让它可以使用google-services.json我的发布applicationId(即没有后缀.debug)google-services.json文件中配置多个产品风格,而不使用单独的文件和任务将所需文件复制到app文件夹.我知道这是可以做到用task作为中提到的这个帖子.是否有更简单的方法可以根据gradle配置选择一个文件或选择正确的文件?package_name字段中google-services.json有包名com.my.app.package.name.我可以手动添加多个包名称以适用于所有构建变体吗?如果是的话,怎么做?在文档中找不到任何说明.android google-analytics gradle android-studio android-productflavors
我的磁盘上有很多系统映像堆积在android sdk文件夹中.我几乎不使用模拟器.可能是6个月一次.我的大多数开发都直接在设备上进行.我想检查的是,将删除系统映像(至少对于旧的APIS即<22)会影响开发吗?
此外,下面看到的谷歌apis文件夹.我应该保留所有版本还是最新版本?

上面的截图来自WinDirStat工具.- https://windirstat.net
如果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 Studio更新到2.1.2后,当我进行更改时,我收到了以下错误太多次.
com.android.ddmlib.AdbCommandRejectedException:设备脱机
安装APK时出错
问题是设备从未连接且未脱机
如果我拔下并重新插入设备,它会再次正常工作.这在以前版本的AS中从未发生过.
问题:是否有一个设置要在AS中更改才能停止发生或者是一个错误?
我创建了自定义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)
我正在过滤变体的方式是否有问题,或者是否无法使用默认的调试和发布版本类型删除变体.
我正在尝试在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崩溃通常是由包含%1$ s何时%1$s打算的资源引起的.
令我惊讶的是,Android Studio没有显示以下语法错误:
↑上面的真正语法错误是%1$ s(使应用程序崩溃),而不是Android Studio突出显示的省略号.
如何检查Android Studio中的资源变量拼写错误?
我正在寻找相当于lint --check StringFormatInvalid.
上下文:许多半自动语言翻译工具会破坏变量,使应用程序崩溃.
是否有一个插件或库可用于从excel访问restful API(可能使用宏),然后将响应存储在某处(可能在工作表中).
原谅丢失的示例代码.我不是VBA程序员.