Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android.aar库接口参数名称丢失_Java_Android_Interface_Aar - Fatal编程技术网

Java Android.aar库接口参数名称丢失

Java Android.aar库接口参数名称丢失,java,android,interface,aar,Java,Android,Interface,Aar,我使用Android Studio(1.2.2)。我构建了一个Android模块库,其中声明了一个接口: public interface myInterface { void onSuccess(String returnedId); void onFailure(Exception e); } 我编译项目,并从build/outputs/aar/目录中获取.aar文件。然后我使用import.JAR或.aar包将.aar导入一个项目。我将其设置为模块依赖项,并将接口导入到

我使用Android Studio(1.2.2)。我构建了一个Android模块库,其中声明了一个接口:

public interface myInterface {
    void onSuccess(String returnedId);

    void onFailure(Exception e);
}
我编译项目,并从build/outputs/aar/目录中获取.aar文件。然后我使用import.JAR或.aar包将.aar导入一个项目。我将其设置为模块依赖项,并将接口导入到我希望使用它的类中

问题是,当我想使用导入的接口时,autocomplete不会使用我在构建库时设置的描述性名称来完成接口变量。转到imported.aar文件中接口上的声明,我发现:

public interface myInterface {
       void onSuccess(String var1);

       void onFailure(Exception var1);
 }
我想要的是:

成功时无效(字符串返回ID)

我得到的是:

成功时的公共void(字符串s){


.aar
文件仅包含编译后的代码(
.class
文件位于
.jar
文件中)


如果你想在Android Studio中看到真实的参数名,你必须告诉Android Studio在哪里可以找到你的库的源代码(
*.java
文件)。

我遇到过这样的情况:工作的Android模块库被更改,而调用的应用程序没有注意到这些更改

- Save all files in the App
- Quit Android Studio (not close, really quit/force stop)
- Open Android Studio again
- Load the App (if not done automatically)
- Project Clear

对我来说,这就解决了问题。

库和应用程序是否在同一个项目中?我不确定@larsgrefer的意思。库是作为.aar文件导入的。它被设置为模块依赖项。指向.aar文件的路径在当前项目中。请添加应用程序和您的
build.gradle
settings.gradle
文件r library如果您已经包括了告诉Android Studio在哪里可以找到库的源代码(*.java文件)的步骤,那么它将非常有用。