我導入後的下一步驟公地編解碼器1.10.jar:Android Studio中java.lang.NoSuchMethodError與導入庫
- 在德的應用程序目錄中創建手動複製的一個libs目錄
- 。 libs目錄內的罐子
- 右擊Android的工作室裏面的.jar和點擊添加爲庫
加入這一行我build.grade
compile fileTree(dir: 'libs', include: ['*.jar'])
在我的課堂我進口這樣的庫:
import org.apache.commons.codec.binary.Base64;
然後我試圖訪問encodeBase64String靜態方法中的Base64這樣的:
public static class DoThisThing {
public String DoThisOtherThing() {
String hashed = "hello";
String hash = Base64.encodeBase64String(hashed.getBytes());
return hash;
}
}
public class ActivityThing extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_thing);
String hash = DoThisThing.DoThisOtherThing();
System.out.println(hash);
}
}
沒有出現錯誤,甚至當我編譯,除了當我運行的應用程序,它會拋出以下錯誤和應用程序關閉:
11-03 09:41:27.719 2390-2476/com.myproject E/AndroidRuntime: Caused by: java.lang.NoSuchMethodError: No static method encodeBase64String([B)Ljava/lang/String; in class Lorg/apache/commons/codec/binary/Base64; or its super classes (declaration of 'org.apache.commons.codec.binary.Base64' appears in /system/framework/org.apache.http.legacy.boot.jar)
我的DoThisThing類不在活動的內部,只是爲了縮短它。我檢查了庫,確實encodeBase64String是靜態的。所以我不知道該怎麼做,我在java和android環境中是新手。所以,任何幫助將不勝感激
這可能會幫助你 –
Omg謝謝。這似乎很有幫助。我會讓你知道我做了什麼 –