小编Vis*_*ani的帖子

用gradle签署产品口味

我想把我的项目迁移到gradle.我的一个项目有多种产品风格,每种产品都必须在其发布版本中使用不同的signingConfig进行签名.所以这就是我到目前为止所尝试的:

buildscript {
    ...
}

apply plugin: 'android'

android {
    compileSdkVersion 17
    buildToolsVersion '17'

    signingConfigs {
        flavor1 {
            storeFile file("keystore")
            storePassword "secret"
            keyAlias "aliasForFlavor1"
            keyPassword "secretFlavor1"
        }

        flavor2 {
            storeFile file("keystore")
            storePassword "secret"
            keyAlias "aliasForFlavor2"
            keyPassword "secretFlavor2"
        }
    }

    productFlavors {
        flavor1 {
            signingConfig signingConfigs.flavor1
        }

        flavor1 {
            signingConfig signingConfigs.flavor2
        }
    }
}

dependencies {
    ...
}
Run Code Online (Sandbox Code Playgroud)

当我运行时,signingConfig我得到一个gradle build和以下错误消息:

No such field: signingConfigs for class: com.android.build.gradle.internal.dsl.GroupableProductFlavorFactory
Run Code Online (Sandbox Code Playgroud)

所以我假设productFlavors.*gradle脚本的一部分不是放置代码签名配置的正确位置.

android build code-signing gradle

58
推荐指数
4
解决办法
2万
查看次数

华为移动服务 SDK 违反设备和网络滥用政策

\n

您的应用包含\xe2\x80\x99 不符合设备和\n网络滥用政策的内容。我们发现您的应用使用的是不合规\n版本的华为移动服务 SDK,其中包含从 Google Play 之外的未知来源下载\或安装应用程序的代码。

\n
\n

我正在使用华为移动服务SDK来实现自动橡皮擦。

\n
\n

使用的依赖项列表

\n
\n
implementation 'com.huawei.hms:ml-computer-vision-segmentation:3.0.0.301'\nimplementation 'com.huawei.hms:ml-computer-vision-image-segmentation-body-model:2.0.2.300'\n\n\nbuildscript {\n    repositories {\n        mavenCentral()\n        jcenter()\n        google()\n        maven {url 'http://developer.huawei.com/repo/'}\n    }\n\n    dependencies {\n        classpath 'com.android.tools.build:gradle:4.2.2'\n\n        //Auto eraser\n        classpath 'com.huawei.agconnect:agcp:1.3.1.300'\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
\n

在manifest.xml中添加了以下元数据

\n
\n
<meta-data\n    android:name="com.huawei.hms.ml.DEPENDENCY"\n    android:value="imgseg" />\n
Run Code Online (Sandbox Code Playgroud)\n

android huawei-mobile-services huawei-developers

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

如何为Android启用内部应用共享?

我已经在Play控制台中上传了Android App Bundle以进行Alpha测试,但是当我打开测试URL时,它显示在对话框下方。

在此处输入图片说明

android android-testing

10
推荐指数
3
解决办法
396
查看次数

内存不足:Java 堆空间。或 Android Studio 3.4 更新后构建发布 APK 时超出了 GC 开销限制

升级 Android Studio 3.4 后出现以下错误。Gradel插件版本是:3.4.0

内存不足:Java 堆空间。请在项目的 gradle.properties 文件中为 Gradle 分配更多内存。例如,以下行,在 gradle.properties 文件中将最大 Java 堆大小设置为

1,024 MB:org.gradle.jvmargs=-Xmx1024m阅读 Gradle 的

配置指南 阅读 Java 的堆大小

或者

超出 GC 开销限制

我已经应用了以下解决方案,但它不起作用。

选项1

dexOptions {
   javaMaxHeapSize "4g"
}
Run Code Online (Sandbox Code Playgroud)

选项:2

org.gradle.configureondemand=false
Run Code Online (Sandbox Code Playgroud)

选项:3

从项目树中打开 gradle.properties 文件,在内存分配行添加这一行

org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
Run Code Online (Sandbox Code Playgroud)

或者

org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
Run Code Online (Sandbox Code Playgroud)

或者

org.gradle.jvmargs=-XX\:MaxHeapSize\=1024m -Xmx1024m
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。提前致谢!

android android-studio build.gradle

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

Android Studio更新后,我的Java和Xml文件突然更改了

Java文件显示如下

之前

在此处输入图片说明

在此处输入图片说明

Xml文件显示如下

之前

在此处输入图片说明

在此处输入图片说明

我尝试清除项目,重建项目,重新启动/无效,删除Build,.idea文件夹,但是它不起作用。

android android-layout android-studio

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

当我尝试使用 android-image-cropper:2.8.+ 时我陷入困境

当我在依赖项中添加到这一行时,implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.+'它会导致错误

*我的错误*

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:8:5-25:19 to override.
Run Code Online (Sandbox Code Playgroud)

implementation 'com.android.support:appcompat-v7:28.0.0'

这条线变成红线

我认为问题是版本原因

我怎样才能避免这种冲突呢?

我已经尝试更改版本并在清单中添加代码

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<usespermissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)

但没用

这是我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.blogapp">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Activities.LoginActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Activities.RegisterActivity" />
        <activity android:name=".Activities.PostActivity" …
Run Code Online (Sandbox Code Playgroud)

dependencies android android-studio-3.0

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

RewardedVideoAd回调侦听器不匹配

我已实现RewardedVideoAd使用PRO功能。

当我RewardedVideoAd在整个应用程序中使用1次(在单个屏幕上)时,它运行完美。但是当我多次使用(在多个屏幕中)时,RewardedVideoAd回调监听器在两个屏幕之间都不匹配。

让我解释一下整个情况

  1. 我打开了SCREEN-A,然后观看了RewardedVideoAd。成功完成此视频后,我得到了奖励。
  2. 现在我要转到下一个SCREEN-B
  3. 然后,我将转到下一个SCREEN-C,并完成SCREEN-B
  4. 因此,现在应用程序状态为前台状态SCREEN-C和后台状态SCREEN-A
  5. 现在,我正在SCREEN-C中观看RewardedVideoAd 。成功完成此视频后,我得到了奖励。
  6. 然后我关闭了SCREEN-C。因此,我重定向到处于后台状态的SCREEN-A
  7. 现在,我正在SCREEN-A中观看RewardedVideoAd 。成功完成此视频后。我没有得到奖励。

所以问题是我上次在SCREEN-C中观看了视频。因此所有回调都将流向SCREEN-C,而不是SCREEN-A

我还在所有屏幕上实现了以下代码。

@Override
public void onResume() {
    mRewardedVideoAd.resume(this);
    super.onResume();
}

@Override
public void onPause() {
    mRewardedVideoAd.pause(this);
    super.onPause();
}

@Override
public void onDestroy() {
    mRewardedVideoAd.destroy(this);
    super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)

android admob admob-rewardedvideoad

5
推荐指数
0
解决办法
196
查看次数

收到错误"java.lang.IllegalStateException:只能从活动打印"?

我在使用anroid 4.4打印api时收到错误"java.lang.IllegalStateException:只能从活动中打印".

它适用于4.4以上的所有anroid吗?

我的代码

public class MainActivity extends Activity {

    Context cotext;
    WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cotext = getApplicationContext();
    }

    public void printData(View view){
        doWebViewPrint();
    }

    private void doWebViewPrint() {
        // Create a WebView object specifically for printing
        WebView webView = new WebView(cotext);
        webView.setWebViewClient(new WebViewClient() {

            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return false;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                Log.i("TAG", "page finished loading " + url);
                createWebPrintJob(view);
                mWebView = …
Run Code Online (Sandbox Code Playgroud)

java android android-print-manager

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

尽管places.getName()没有返回null,但places.getLatLng()返回null

我一直在尝试从自动完成中单击某个位置后获取latlng,奇怪的是,places.getName()它工作正常,但place.getLatLng()返回null。我应该怎么做才能解决这个问题?我是Google Maps and Place API的新手!

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == AUTOCOMPLETE_REQUEST_CODE_FROM) {
            if (resultCode == RESULT_OK) {
                Place place = Autocomplete.getPlaceFromIntent(data);
                Log.i("shipadd", "Place: " + place.getName() + ", " + place.getId());
                from_edit_txt.setText(place.getName());
                origin=place.getLatLng();
                Log.e("origin_destarray",""+place.getLatLng());

            } else if (resultCode == AutocompleteActivity.RESULT_ERROR) {
                // TODO: Handle the error.
                Status status = Autocomplete.getStatusFromIntent(data);
                Log.i("shipadd", status.getStatusMessage());
            } else if (resultCode == RESULT_CANCELED) {
                // The user canceled the operation.
            }
        }
        else if …
Run Code Online (Sandbox Code Playgroud)

android location google-maps google-places-api

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

使用 UniformSpeedInterpolator 或 AutoScroll RecyclerView 在 Android Recyclerview 中水平自动滚动(从右到左)

我有一个RecyclerView方向HORIZONTAL。我想RecyclerView自动从右向左滚动。另外,我需要以下选项

  1. 应该无限循环滚动

  2. 支持触摸同时自动滚动

  3. 支持反向自动滚动(从左到右)

  4. 应该适用于所有布局管理器 ( LinearLayoutManager, GridLayoutManager, StaggeredGridLayoutManager)

android autoscroll android-recyclerview

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