我正在尝试在工作室中运行我的代码,但不断收到此错误: -
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
> Unexpected constructor structure.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

我尝试了很多方法来解决这个错误,但似乎没有任何方法可以帮助我
以下是我的代码中最初出现此错误时所做的事情: -
来自FragmentActivity的片段调用: -
public void showSelectVideoFragment() {
// TODO Auto-generated method stub
if (checkCurrentSelectedBtForLeftMenu(lMenuBtUploadVideoWRAP)) {
return;
}
setBtBackgroundForLeftMenu(lMenuBtUploadVideoWRAP);
addFragment(new SVideoFragment(mLeftMenu));
}
private void addFragment(Fragment fragment) {
if (fragmentManager != null) {
if (fragmentManager.getBackStackEntryCount() == 0) {
PVHomeFragment homeFragment = (PVHomeFragment) fragmentManager
.findFragmentByTag(FM_TAG_HOME_FRAGMENT);
fragmentManager.beginTransaction().hide(homeFragment).commit();
} else {
fragmentManager.popBackStack();
}
fragmentManager.beginTransaction()
.add(R.id.fragmentContainer, fragment, FM_TAG_TOP_FRAGMENT)
.addToBackStack(null).commit();
}
}
SVideoFragment Code : -
public class SVideoFragment extends PVBaseFragment {
private SlidingMenu mLeftMenu = null;
private static final String SLIDEMENU_KEY = "describable_key";
public SVideoFragment() {
}
@SuppressLint({"NewApi","ValidFragment"})
public SVideoFragment(SlidingMenu leftMenu) {
mLeftMenu = leftMenu;
}
@Override
protected void initFragment() {
// TODO Auto-generated method stub
}
@SuppressLint({"NewApi","ValidFragment"})
@Override
protected View initFragmentView(LayoutInflater inflater, ViewGroup container) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.fragment_select_video, container,
false);
Button btToggleLeftMenu = (Button) v
.findViewById(R.id.btToggleLeftMenu);
btToggleLeftMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if (mLeftMenu != null) {
mLeftMenu.toggle();
}
}
});
((Button) v.findViewById(R.id.btSelectVideo))
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showVideoSelector();
}
});
return v;
}
我将以下行添加到build.gradle: -
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.app"
minSdkVersion 14
targetSdkVersion 22
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
lintOptions {
abortOnError false
checkReleaseBuilds false
}
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
preDexLibraries = false //delete the already predexed libraries
}
allprojects {
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
}
}
dependencies {
compile project(':sdk')
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile project(':android-3.1')
compile project(':AVIOCtrlDefine')
compile project(':Facebook')
compile project(':SlidingMenu-master')
compile 'com.google.android.gms:play-services-plus:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
compile 'com.google.android.gms:play-services-base:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
}
android.packagingOptions {
exclude 'the META-INF / DEPENDENCIES'
exclude 'the META-INF / LICENSE'
exclude 'the META-INF / LICENSE.txt'
exclude 'the META-INF / license.txt'
exclude 'the META-INF / NOTICE'
exclude 'the META-INF / the NOTICE.txt '
exclude ' the META-INF / NOTICE.txt '
exclude ' the META-INF / ASL2.0 '
exclude ' the META-INF / Services / javax.annotation.processing.Processor '
}
完成上述所有操作后,我仍然得到同样的错误,所以我选择了第二种方法: -
我这样叫Fragment: -
public void showSelectVideoFragment() {
SVideoFragment mSVideoFragment = new SVideoFragment();
// TODO Auto-generated method stub
if (checkCurrentSelectedBtForLeftMenu(lMenuBtUploadVideoWRAP)) {
return;
}
setBtBackgroundForLeftMenu(lMenuBtUploadVideoWRAP);
addFragment(mSVideoFragment.newInstance(mLeftMenu));
}
并在片段中: -
public class SVideoFragment extends PVBaseFragment {
private SlidingMenu mLeftMenu = null;
private static final String SLIDEMENU_KEY = "describable_key";
public SVideoFragment() {
}
public static SVideoFragment newInstance(SlidingMenu leftMenu) {
SVideoFragment fragment = new SVideoFragment();
Bundle bundle = new Bundle();
bundle.putSerializable(SLIDEMENU_KEY, leftMenu);
fragment.setArguments(bundle);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mLeftMenu = (SlidingMenu) getArguments().getSerializable(SLIDEMENU_KEY);
}
}
@Override
protected void initFragment() {
// TODO Auto-generated method stub
}
@SuppressLint({"NewApi","ValidFragment"})
@Override
protected View initFragmentView(LayoutInflater inflater, ViewGroup container) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.fragment_select_video, container,
false);
Button btToggleLeftMenu = (Button) v
.findViewById(R.id.btToggleLeftMenu);
btToggleLeftMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if (mLeftMenu != null) {
mLeftMenu.toggle();
}
}
});
((Button) v.findViewById(R.id.btSelectVideo))
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showVideoSelector();
}
});
return v;
}
但我仍然得到同样的错误
**当我在终端中运行./gradlew assembleDebug时,我得到了: - **
- 出了什么问题:任务执行失败':app:transformClassesWithDexForDebug'。
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令 ' / usr / lib中/ JVM / JAVA -7-的openjdk-AMD64 / bin中/ JAVA''完成非零 退出值1
这是我的应用依赖项: -
+ --- project:sdk + --- com.google.android.gms:play-services-ads:8.4.0 | --- com.google.android.gms:play-services-basement:8.4.0 | --- com.android.support:support-v4:23.0.0 | --- com.android.support:support-annotations:23.0.0 + ---项目:android-3.1 + ---项目:AVIOCtrlDefine + ---项目:Facebook | + --- com.android.support:support-v4:[21,22) - > 23.0.0()| --- com.parse.bolts:螺栓,安卓1.1.4 + ---项目:SlidingMenu-master + --- com.google.android.gms:play-services:8.4.0 | + --- com.google.android.gms:play-services-ads:8.4.0()| + --- com.google.android.gms:play-services-analytics:8.4.0 | | --- com.google.android.gms:play-services-basement:8.4.0()| + --- com.google.android.gms:play-services-appindexing:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0 | | --- com.google.android.gms:播放服务地下室:8.4.0
()| + --- com.google.android.gms:play-services-appinvite:8.4.0 |
| --- com.google.android.gms:play-services-base:8.4.0()|
+ --- com.google.android.gms:play-services-appstate:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-auth:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-basement:8.4.0()| + --- com.google.android.gms:play-services-cast:8.4.0 | | + --- com.google.android.gms:play-services-base:8.4.0()| | --- com.android.support:mediarouter-v7:23.0.0 | | --- com.android.support:appcompat-v7:23.0.0 | | --- com.android.support:support-v4:23.0.0(< em>)| + --- com.google.android.gms:play-services-drive:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-fitness:8.4.0 | | + --- com.google.android.gms:play-services-base:8.4.0()| | --- com.google.android.gms:play-services-location:8.4.0 | |
+ --- com.google.android.gms:play-services-base:8.4.0()| | --- com.google.android.gms:play-services-maps:8.4.0 | |
--- com.google.android.gms:play-services-base:8.4.0
()| + --- com.google.android.gms:play-services-games:8.4.0 | | + --- com.google.android.gms:play-services-base:8.4.0()| | --- com.google.android.gms:play-services-drive:8.4.0()| + --- com.google.android.gms:play-services-gcm:8.4.0 | | + --- com.google.android.gms:play-services-base:8.4.0()| | --- com.google.android.gms:play-services-measurement:8.4.0 | |
--- com.google.android.gms:play-services-basement:8.4.0
()| + --- com.google.android.gms:play-services-identity:8.4.0 |
| --- com.google.android.gms:play-services-base:8.4.0()|
+ --- com.google.android.gms:play-services-location:8.4.0()| + --- com.google.android.gms:play-services-maps:8.4.0()| + --- com.google.android.gms:play-services-measurement:8.4.0()| + --- com.google.android.gms:附近的游戏服务:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-panorama:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-plus:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-safetynet:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-vision:8.4.0 | | --- com.google.android.gms:play-services-base:8.4.0()| + --- com.google.android.gms:play-services-wallet:8.4.0 | | + --- com.google.android.gms:play-services-base:8.4.0()| | + --- com.google.android.gms:play-services-identity:8.4.0()| | --- com.google.android.gms:play-services-maps:8.4.0()| --- com.google.android.gms:play-services-wearable:8.4.0 | --- com.google.android.gms:play-services-base:8.4.0()--- com.android.support:multidex:1.0.0
已更新: -
我已经尝试了各种各样的东西,比如逐个添加罐子,还在Android工作室创建了一个新项目,然后将所有文件夹放在里面,还过滤了项目所需的google play服务依赖项,添加了谷歌播放服务的插件也包含gcm.jason文件。
运行 ./ gradlew assembleDebug --stacktrace 命令
我正在: -
错误:处理错误&#34; java / awt / font / NumericShaper.class&#34;: 错误:错误使用或错误使用核心类(java。*或 的javax。*)
我做了一些与此错误相关的搜索并发现它似乎是因为项目中的android.jar复制但我没有在我的依赖项中找到任何重复文件。
这是我更新的gradle.build文件: -
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.petzview.android"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
checkReleaseBuilds false
}
dexOptions {
incremental = true;
maxProcessCount 4
javaMaxHeapSize "4g"
dexInProcess = false
preDexLibraries = false
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.google.android.gms:play-services-ads:9.0.0'
compile 'com.google.android.gms:play-services-plus:9.0.0'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
compile project(':AVIOCtrlDefine')
compile project(':Facebook')
compile project(':SlidingMenu-master')
compile 'com.android.support:multidex:1.0.1'
}
android.packagingOptions {
exclude 'the META-INF / DEPENDENCIES'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'the META-INF / LICENSE'
exclude 'the META-INF / LICENSE.txt'
exclude 'the META-INF / license.txt'
exclude 'the META-INF / NOTICE'
exclude 'the META-INF / the NOTICE.txt '
exclude ' the META-INF / NOTICE.txt '
exclude ' the META-INF / ASL2.0 '
exclude ' the META-INF / Services / javax.annotation.processing.Processor '
}
apply plugin: 'com.google.gms.google-services'
有人建议我在android studio中解决这个问题。
答案 0 :(得分:2)
我遇到了同样的问题,我用disabling Instant Run in Android Studio -> Preferences (search for "instant run" or) -> "Build, Execution, Deployment" -> Instant Run -> Enable Instant Run -> turn off修复了它 感谢@Balki的回答!
答案 1 :(得分:1)
试试这个:(这看起来可能是问题)
public SVideoFragment() {
super();
}
@SuppressLint({"NewApi","ValidFragment"})
public SVideoFragment(SlidingMenu leftMenu) {
this();
mLeftMenu = leftMenu;
}
了解更多信息:https://developers.facebook.com/docs/facebook-login/android
答案 2 :(得分:0)
嘿,这个项目是从eclipse迁移到工作室吗?我得到了同样的错误。我通过使项目multidex重新解决它。之后重新构建并同步它。希望这会有所帮助。删除重复的依赖项。
答案 3 :(得分:0)
我的问题是这个有点不寻常的构造函数
public ActionRequest(BridgeActivity bridgeActivity, String url, Response.Listener<RestResult> listener) {
super(url, Method.POST, RestResult.class, bridgeActivity.new ResponseListener<RestResult>() {
@Override
public void onResponse(RestResult response) {
listener.onResponse(response);
}
});
我认为该构造函数中的bidgeActivity.new ResponseListener<RestResult>()
调用是不允许的,我想这个构造不是由dex编译器中的某些代码生成器实现的。