android 中的优步 SDK
Uber SDK in android
我正在尝试在我的 android 应用程序中添加优步 'request a ride' 按钮。在我的 gradle 构建文件中,我添加了以下行:
compile 'com.uber.sdk:rides-android:0.5.0'
自动 Android 工作室要求同步 gradle 文件,因为它们已更改。在此之后,我的项目出现了 500 多个错误,但是当我删除依赖项时,一切都恢复正常。
谁能帮我解决这个问题?
模块gradle脚本:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
android {
useLibrary 'org.apache.http.legacy'
}
defaultConfig {
applicationId "com.example.android.myuberapp"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/fonts'] } }
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile files('libs/android-async-http-1.4.4.jar')
compile files('libs/volley.jar')
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:design:23.2.0'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.github.sembozdemir:ViewPagerArrowIndicator:1.0.0'
compile 'com.google.maps.android:android-maps-utils:0.4+'
compile 'com.github.jakob-grabner:Circle-Progress-View:v1.2.9'
compile 'me.grantland:autofittextview:0.2.+'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.uber.sdk:rides-android:0.5.0'
}
全套错误:
您似乎已超过 64k 限制,应该启用 multidex。
其中大多数 "errors" 实际上是 gradle 似乎正在组合在一起的警告。检查错误的最后几行以获取确切消息。
在你的build.gradle
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
并且在您的清单中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
分别为:
由于 Uber SDK 不是那么大,另一个延迟 multidex 的建议是只使用您实际需要的 Play 服务库。
例如,而不是
'com.google.android.gms:play-services:8.4.0'
您可以仅使用云消息传递(如果使用的是该组件)。
com.google.android.gms:play-services-gcm:8.4.0
我正在尝试在我的 android 应用程序中添加优步 'request a ride' 按钮。在我的 gradle 构建文件中,我添加了以下行:
compile 'com.uber.sdk:rides-android:0.5.0'
自动 Android 工作室要求同步 gradle 文件,因为它们已更改。在此之后,我的项目出现了 500 多个错误,但是当我删除依赖项时,一切都恢复正常。
谁能帮我解决这个问题?
模块gradle脚本:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
android {
useLibrary 'org.apache.http.legacy'
}
defaultConfig {
applicationId "com.example.android.myuberapp"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/fonts'] } }
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile files('libs/android-async-http-1.4.4.jar')
compile files('libs/volley.jar')
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:design:23.2.0'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.github.sembozdemir:ViewPagerArrowIndicator:1.0.0'
compile 'com.google.maps.android:android-maps-utils:0.4+'
compile 'com.github.jakob-grabner:Circle-Progress-View:v1.2.9'
compile 'me.grantland:autofittextview:0.2.+'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.uber.sdk:rides-android:0.5.0'
}
全套错误:
您似乎已超过 64k 限制,应该启用 multidex。
其中大多数 "errors" 实际上是 gradle 似乎正在组合在一起的警告。检查错误的最后几行以获取确切消息。
在你的build.gradle
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
并且在您的清单中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
分别为:
由于 Uber SDK 不是那么大,另一个延迟 multidex 的建议是只使用您实际需要的 Play 服务库。
例如,而不是
'com.google.android.gms:play-services:8.4.0'
您可以仅使用云消息传递(如果使用的是该组件)。
com.google.android.gms:play-services-gcm:8.4.0