错误:任务':app:dexDebug'执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令 'C:\ Program Files \ Java \ jdk1.8.0_25 \ bin \ java.exe''已完成 非零退出值2
我的项目没有与parse连接,我已经按照parse.com docs中给出的所有步骤进行了操作。我已尝试将新项目和现有项目连接到解析,但它没有连接。
Gradle build在4s 824ms内完成了1个错误。
下面是我现有的项目mainActivity.java onCreate code:
@Override
protected void onCreate(Bundle savedInstanceState) {
Parse.enableLocalDatastore(this);
Parse.initialize(this, "8R4nAHgdPDJ422tuZyHNE2Hjp3F50y4pSlO9sA1b", "qJomEl0uICAsg7uwiDvxEtWlTWovb3S01N8a3XNr");
ParseObject testObject = new ParseObject("TestObject");
testObject.put("foo", "bar");
testObject.saveInBackground();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
以下是依赖项的gradel代码:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.parse:parse-android:1.+'
}
以下是用于询问/检查互联网连接的AndroidManifest.xml代码:
我还在我的libs中包含了Parse-1.11.0.jar。
答案 0 :(得分:2)
从您的gradle文件中删除以下行
compile fileTree(dir: 'libs', include: ['*.jar'])
因为你已经在这里了
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.parse:parse-android:1.+'
这些行在扩展应用程序
的类中Parse.enableLocalDatastore(this);
Parse.initialize(this, "8R4nAHgdPDJ*****E2Hj0y4pSlO9sA1b", "qJomEl0uICAsg7uwiDvxEtW****3S01N8a3XNr");
你不应该发布这些代码,而是要保密。
例如:
package <your.package.name>;
import android.app.Application;
import com.parse.Parse;
import com.parse.ParseInstallation;
public class ClassNameApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this, "2zMz0hbE****r4sMwZJrYtX", "YdK7lFBh5MI6gca*****WPXmKb");
ParseInstallation.getCurrentInstallation().saveInBackground();
}
}
并在清单文件中添加此类名称:
<强>此处强>:
<application
android:name=".ClassNameApplication "
android:allowBackup="true"
......
答案 1 :(得分:0)
您需要实施Multidex
你也有一些结构问题。以下行只应调用一次。因此,您需要创建一个类应用程序并在清单中注册它,然后在该应用程序类中调用onCreate行。这是example.。
Parse.enableLocalDatastore(this);
Parse.initialize(this, "YOUR_KEY");
祝你好运。
答案 2 :(得分:0)
只需添加此
即可android {...
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/notice.txt'
}
..}
并在multiDexEnabled true
代码
defaultConfig
这是我的应用程序类public class Example extends MultiDexApplication {
添加如此<application
android:name=".Example"
这是我的gradle文件
defaultConfig {
applicationId "com.example"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true // add this
}