我想把我的项目迁移到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脚本的一部分不是放置代码签名配置的正确位置.
\n\n您的应用包含\xe2\x80\x99 不符合设备和\n网络滥用政策的内容。我们发现您的应用使用的是不合规\n版本的华为移动服务 SDK,其中包含从 Google Play 之外的未知来源下载\或安装应用程序的代码。
\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}\nRun Code Online (Sandbox Code Playgroud)\n\n\n在manifest.xml中添加了以下元数据
\n
<meta-data\n android:name="com.huawei.hms.ml.DEPENDENCY"\n android:value="imgseg" />\nRun Code Online (Sandbox Code Playgroud)\n 升级 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)
请帮我解决这个问题。提前致谢!
当我在依赖项中添加到这一行时,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) 我已实现RewardedVideoAd使用PRO功能。
当我RewardedVideoAd在整个应用程序中使用1次(在单个屏幕上)时,它运行完美。但是当我多次使用(在多个屏幕中)时,RewardedVideoAd回调监听器在两个屏幕之间都不匹配。
让我解释一下整个情况
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) 我在使用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) 我一直在尝试从自动完成中单击某个位置后获取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) 我有一个RecyclerView方向HORIZONTAL。我想RecyclerView自动从右向左滚动。另外,我需要以下选项
应该无限循环滚动
支持触摸同时自动滚动
支持反向自动滚动(从左到右)
应该适用于所有布局管理器 ( LinearLayoutManager, GridLayoutManager, StaggeredGridLayoutManager)
android ×10
admob ×1
autoscroll ×1
build ×1
build.gradle ×1
code-signing ×1
dependencies ×1
google-maps ×1
gradle ×1
java ×1
location ×1