Java Android.aar库接口参数名称丢失
我使用Android Studio(1.2.2)。我构建了一个Android模块库,其中声明了一个接口: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导入一个项目。我将其设置为模块依赖项,并将接口导入到
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文件)的步骤,那么它将非常有用。