2 freedom wings5 freedom_wings5 于 2016.04.20 15:30 提问

Android studio写AIDL时报错:Execution failed for task,

我用的是Android Studio 1.4
图片说明

图片说明

第二张图compile sdk version那里只能选api level 23.

在aidl包下我写了2个aidl文件,另外MainActivity那个包中的MyParcelClass,这3个和aidl有关。下面贴下代码:

MyParcelClass.java

 public class MyParcelableClass implements Parcelable
{
    private int id;
    private String str;

    public MyParcelableClass(int id,String str)
    {
        this.id=id;
        this.str=str;
    }

    @Override
    public int describeContents()
    {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel out,int flags)
    {
        out.writeInt(id);
        out.writeString(str);
    }


    private MyParcelableClass(Parcel in)
    {
        id=in.readInt();
        str=in.readString();
    }

    public static final Parcelable.Creator<MyParcelableClass> CREATOR=new Parcelable.Creator<MyParcelableClass>()
    {
        @Override
        public MyParcelableClass[] newArray(int size)
        {
            return new MyParcelableClass[size];
        }

        public MyParcelableClass createFromParcel(Parcel in)
        {
            return new MyParcelableClass(in);
        }
    };
}

MyParcelClass.aidl:

 package com.example.dell_pc.aldl;

parcelable MyParcelableClass;

IMyParcelManager.aidl:

 package com.example.dell_pc.aldl.aidl;

import com.example.dell_pc.aldl.MyParcelableClass;
// Declare any non-default types here with import statements

interface IMyParcelManager {
    /**
     * Demonstrates some basic types that you can use as parameters
     * and return values in AIDL.
     */
    void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,
            double aDouble, String aString);


            void add(in MyParcelableClass mMyParcelableClass);
            MyParcelableClass get();
}

与aidl有关的3个文件的代码如上,报这个错误好像是Android Studio不会自动生成IMyParcelmanager.java?但是我build,然后make project后就是这个样子,求解决方法,网上搜索的方法都不行

2个回答

CSDNXIAON
CSDNXIAON   2016.04.20 15:42

[Android Studio]常见Execution failed for task
android studio解决Execution failed for task ':app:compileDebugAidl': aidl is missing
Android Studio报错Gradle: Execution failed for task ':MyTest:processDebugResources'.
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

ssslalalala
ssslalalala   2016.04.25 22:35

今天遇到和你一样的问题,你将aidl的两个aidl文件放在和你准备引入的类一个包下,同时还得应用,查了资料,目前·是sudio的问题,
如果不改的话,需要修改什么frame,那个我没有看懂。
图片说明
图片说明

ssslalalala
ssslalalala 回复freedom_wings5: 你的那个parcelable object 没有improt 需要引入的,引入就可以了
一年多之前 回复
ssslalalala
ssslalalala 回复freedom_wings5: 昨天那样做好像有点问题,虽然build成功,但没有生成相应的java文件,我今天查了一下资料,需要aidl和parcelab object 的命名一样,我的今天编译通过了,同时生成了相应的java文件
一年多之前 回复
freedom_wings5
freedom_wings5 我就是这样做的
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!