不工作我試圖使用的SoundCloud的API,在測試的Android項目都可以在GitHub(here)。我試圖使用IntelliJ IDEA 13和Eclipse,但問題不會改變。的SoundCloud API中的Android項目
我有一個簡單的Activity
與WebView
如在Facebook連接示例here中指定的。 >Project Settings
- - >Modules
- >my-module
- >Dependencies
- >+
在IntelliJ IDEA的我已經通過Project Structure
加入我的外部JAR文件。我還在我的gradle.build
文件中添加了依賴項compile 'com.soundcloud:java-api-wrapper:1.3.1
。
在Eclipse中,我添加了它Properties
→Java Build Path
→Libraries
→Add External JAR
。
我在編譯過程中沒有錯誤,但是當我從Genymotion VM啓動應用程序崩潰報告中的logcat以下錯誤。
01-08 17:22:40.761: E/AndroidRuntime(9509): FATAL EXCEPTION: main
01-08 17:22:40.761: E/AndroidRuntime(9509): java.lang.NoClassDefFoundError: com.soundcloud.api.ApiWrapper
01-08 17:22:40.761: E/AndroidRuntime(9509): at com.example.soundcloudexample.activities.MainActivity.onCreate(MainActivity.java:22)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.Activity.performCreate(Activity.java:5133)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.ActivityThread.access$600(ActivityThread.java:141)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.os.Looper.loop(Looper.java:137)
01-08 17:22:40.761: E/AndroidRuntime(9509): at android.app.ActivityThread.main(ActivityThread.java:5103)
01-08 17:22:40.761: E/AndroidRuntime(9509): at java.lang.reflect.Method.invokeNative(Native Method)
01-08 17:22:40.761: E/AndroidRuntime(9509): at java.lang.reflect.Method.invoke(Method.java:525)
01-08 17:22:40.761: E/AndroidRuntime(9509): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
01-08 17:22:40.761: E/AndroidRuntime(9509): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-08 17:22:40.761: E/AndroidRuntime(9509): at dalvik.system.NativeStart.main(Native Method)
我Activity
具有下面的代碼
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ApiWrapper wrapper = new ApiWrapper(
SoundCloudConf.CLIENT_ID,
SoundCloudConf.CLIENT_SECRET,
SoundCloudConf.REDIRECT_URI,
null /* token */);
WebView webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(final WebView view, String url) {
if (url.startsWith(SoundCloudConf.REDIRECT_URI.toString())) {
Uri result = Uri.parse(url);
String error = result.getQueryParameter("error");
String code = result.getQueryParameter("code");
}
return true;
}
});
webView.loadUrl(wrapper.authorizationCodeUrl(Endpoints.FACEBOOK_CONNECT, Token.SCOPE_NON_EXPIRING).toString());
}
我也試圖與真正的設備,它似乎API類是不存在的。有人可以解決它?
謝謝。這在Eclipse上工作,但不在InelliJ Idea中,因爲我不知道該在哪裏找到該選項。你知道如何修改'gradle.build'文件來使這個應用程序也能在這個IDE中工作嗎? –