0
我使用亚马逊S3云存储到我的应用程序,它工作正常,但仍崩溃测井仪表示TransferService.java
获得的NullPointerException在TransferService.java,AWS S3的Android SDK的随机用户
这里的崩溃是我的实现细节:
1)依赖关系:
compile 'com.amazonaws:aws-android-sdk-core:2.3.6'
compile 'com.amazonaws:aws-android-sdk-cognito:2.3.6'
compile 'com.amazonaws:aws-android-sdk-s3:2.3.6'
2)创建S3客户端:
public static AmazonS3Client getAWS3Client() {
if (s3Client == null) {
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
AppDeligate.getInstance(),
Credentials.IDENTITY_POOL_ID, // Identity Pool ID
Credentials.REGION // Region
);
return s3Client = new AmazonS3Client(credentialsProvider);
}
return s3Client;
}
3)创建TransferUtility的对象:
TransferUtility transferUtility = new TransferUtility(AppDeligate.getAWS3Client(), mContext);
4)完整的系统崩溃日志:
Fatal Exception: java.lang.RuntimeException: Unable to start service co[email protected]21f28350 with null: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2886)
at android.app.ActivityThread.access$2100(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1390)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by java.lang.NullPointerException
at com.amazonaws.mobileconnectors.s3.transferutility.TransferService.onStartCommand(TransferService.java:172)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2869)
at android.app.ActivityThread.access$2100(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1390)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(NativeStart.java)
只是想知道:即使它会工作,不应该该方法是相当同步? – GhostCat
尝试更新您的sdk到2.3.7,这似乎与https://github.com/aws/aws-sdk-android/issues/223有关 – Karthik