테스트 Android 프로젝트에서 GitHub (here)에서 사용할 수있는 SoundCloud API를 사용하려고합니다. IntelliJ IDEA 13 및 Eclipse를 사용하려고했지만 문제가 변경되지 않았습니다.AndroidCloud에서 SoundCloud API가 작동하지 않습니다.
Facebook 연결 예제 here에 지정된대로 WebView
의 간단한 Activity
이 있습니다. >Project Settings
- ->Modules
->my-module
->Dependencies
->+
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에서 App을 실행하면 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 클래스가없는 것 같다에게 있습니다. 누군가 그것을 해결할 수 있습니까?
감사합니다. 이클립스에서는 작동하지만 InelliJ Idea에서는 작동하지 않습니다. 옵션을 어디에서 찾을 수 있을지 모르겠습니다. 이 IDE에서도 앱을 작동시키기 위해'gradle.build' 파일을 어떻게 수정해야하는지 알고 있습니까? –