Android应用停止使用最新版本的PhoneGap Build

时间:2015-10-02 21:56:44

标签: android angularjs phonegap-build ngresource

我使用PhoneGap将AngularJS应用转换为Android和iOS。我需要升级到最新版本的PhoneGap for iOS 9,但它打破了Android应用程序。

具体来说,它会阻止ngResource工作,因此我无法从我的服务器获取身份验证令牌。

Android的config.xml首选项设置为

,效果很好
<preference name="phonegap-version" value="3.7.0" />

Android甚至无法使用这些

中的任何一个向服务器发送请求
<preference name="phonegap-version" value="cli-5.1.1" />
<preference name="phonegap-version" value="cli-5.2.0" />

这是我的AngularJs登录功能和ngResource工厂。

$scope.login = function () {
    AuthenticationService.get({
            'clientId':$rootScope.clientId,
            'clientSecret':$rootScope.clientSecret,
            'username':$scope.loginData.username,
            'password':$scope.loginData.password
        },
        function(data){},
        function(error){
            toastr.error('Authentication failed, please try again.');
        }
    )
    .$promise.then(function(response){
       ...
    });
};


.factory( 'AuthenticationService', function($resource, $rootScope) {
    return $resource(
        $rootScope.url+'/oauth/v2/token?client_id=:clientId&client_secret=:clientSecret&grant_type=password&username=:username&password=:password',
        {
            clientId:'@clientId',
            clientSecret:'@clientSecret',
            username:'@username',
            password:'@password'
        },
        {
            get: { method: 'JSONP', params: { callback: 'JSON_CALLBACK' }, isArray: false }
        }
    );
})

是否有人知道可能导致此问题的较新版本的PhoneGap for Android会发生什么变化?

1 个答案:

答案 0 :(得分:1)

请在config.xml中添加whitelist插件参考

<gap:plugin name="cordova-plugin-whitelist" source="npm" />