我制作了一款使用GPS,互联网,FusedAPI和KSOAP的应用。当我使用android studio在我的手机上调试应用程序时,该应用程序工作正常。但是,当我创建apk(已签名)时,处理Google Map,Fused API和GPS的活动不起作用。我只能看到屏幕闪烁,应用程序返回到之前的活动。
任何人都可以告诉我可能出现的问题。
build.gradle(Module)
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
multiDexEnabled true
applicationId "online.hannuveda.transafe_rx"
minSdkVersion 11
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
compile files('libs/ksoap2-android-assembly-2.4-jar-with-dependencies .jar')
compile 'com.google.android.gms:play-services:9.4.0'
compile 'com.google.maps.android:android-maps-utils:0.3+'
compile 'com.github.aakira:expandable-layout:1.6.0@aar'
}
build.gradle(Project)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
答案 0 :(得分:0)
由于您使用的是google-play-services依赖关系('com.google.android.gms:play-services:9.4.0'
),因此您应该声明类型为MultidexApplication的应用程序。
目前,您刚刚将multiDexEnabled true
添加到应用级build.gradle文件,这对于multidex配置来说还不够。您还应该对Manifest和依赖项进行更改。无论如何,说明如下:
1-将multidex依赖项添加到您的应用级build.gradle
:
compile 'com.android.support:multidex:1.0.1'
2-在app level build.gradle中的defaultConfigs中启用multidex:
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
3-定义一个新类MyApplication,它扩展了MultidexApplication,它将作为应用程序的入口点。
public class MyApplication extends MultidexApplication
4-最后,您应该在AndroidManifest.xml中声明这个新类
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
<application
android:name=".path-to.MyApplication">
...
</application>
</manifest>