无法使用Salesforce Mobile SDK启动Android Hybrid应用程序

时间:2013-12-06 06:11:26

标签: android mobile salesforce hybrid-mobile-app

当我运行使用 forcedroid 创建的项目时,我在ADT的logcat中遇到以下错误。

12-06 05:57:48.176: D/HttpAccess:constructor(833): User-Agent string: SalesforceMobileSDK/2.1.0 android mobile/4.2.2 (sdk) moapp/1.0 Hybrid
12-06 05:57:48.876: I/SalesforceDroidGapActivity.onCreate(833): onCreate called
12-06 05:57:49.026: I/ClientManager:peekRestClient(833): No user account found
12-06 05:57:49.026: I/ClientManager:peekRestClient(833): com.salesforce.androidsdk.rest.ClientManager$AccountInfoNotFoundException: No user account found
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at com.salesforce.androidsdk.rest.ClientManager.peekRestClient(ClientManager.java:140)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at com.salesforce.androidsdk.ui.sfhybrid.SalesforceDroidGapActivity.onCreate(SalesforceDroidGapActivity.java:118)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.Activity.performCreate(Activity.java:5104)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.os.Looper.loop(Looper.java:137)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at android.app.ActivityThread.main(ActivityThread.java:5041)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at java.lang.reflect.Method.invokeNative(Native Method)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at java.lang.reflect.Method.invoke(Method.java:511)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-06 05:57:49.026: I/ClientManager:peekRestClient(833):    at dalvik.system.NativeStart.main(Native Method)
12-06 05:57:49.146: D/dalvikvm(833): GC_CONCURRENT freed 279K, 13% free 2623K/3004K, paused 27ms+24ms, total 192ms
12-06 05:57:49.296: I/SalesforceDroidGapActivity.onResumeNotLoggedIn(833): Should authenticate / online - authenticating
12-06 05:57:49.296: I/SalesforceDroidGapActivity.authenticate(833): authenticate called
12-06 05:57:49.296: I/ClientManager:getRestClient(833): No account of type com.salesforce.androisdk found
12-06 05:57:49.936: D/gralloc_goldfish(833): Emulator without GPU emulation detected.
12-06 05:57:50.096: E/Trace(857): error opening trace file: No such file or directory (2)
12-06 05:57:51.318: D/HttpAccess:constructor(857): User-Agent string: SalesforceMobileSDK/2.1.0 android mobile/4.2.2 (sdk) mobilapp/1.0 Hybrid
12-06 05:58:09.306: D/LockChecker:run(833): isLocked:true elapsedSinceLastActivity:20 timeout:0

我的json.config文件看起来像这样

 {
        "remoteAccessConsumerKey": "3MVG9Iu66FKeHhINkB1l7xt7kR8czFcCTUhgoA8Ol2Ltf1eYHOU4SqQRSEitYFDUpqRWcoQ2.dBv_a1Dyu5xa",
        "oauthRedirectURI": "testsfdc:///mobilesdk/detect/oauth/done",
        "oauthScopes": ["web", "api"],
        "isLocal": false,
        "startPage": "helloWorld",
        "errorPage": "error.html",
        "shouldAuthenticate": true,
        "attemptOfflineLoad": false,
        "androidPushNotificationClientId": ""
    }

请帮我解决此错误

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。您需要在manifestmerger.enabled=true中设置project.properties才能合并salesforceSDK中的清单文件。 该清单中的AuthenticatorService解决了问题。