Tôi đã ở đây trong hai ngày. Tôi đã thử tất cả các giải pháp liên quan đến đa dexing và do đó, nhưng vô ích. Tôi đã xóa mọi thứ để tôi có thể khởi đầu mới.Android: Không thể khắc phục sự cố 65k
App gradle: gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.bilboldev.joestrategy"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.android.gms:play-services-ads:9.0.0'
}
apply plugin: 'com.google.gms.google-services'
dự án:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
Bên manifiest:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<application
android:name="android.support.multidex.MultiDexApplication" ...
Giải pháp phổ biến nhất mà tôi đọc là không bao gồm tất cả các dịch vụ của Google, chỉ cần những thứ bạn cần. Và do đó tôi chỉ biên dịch quảng cáo một. Nhưng nó vẫn không hoạt động.
Một số lớp học không được tìm thấy:
E/dalvikvm: Không thể tìm thấy lớp 'android.os.UserManager', tham chiếu từ phương pháp com.google.android.gms.common.zze.zzan
E/dalvikvm: không thể tìm thấy lớp 'android.app.AppOpsManager', tham chiếu từ phương pháp com.google.android.gms.internal.zzpv.zzg
E/dalvikvm: không thể tìm thấy lớp 'com .google.android.gms.internal.zzamq ', được tham chiếu từ phương thức com.google.android.gms.internal.zzdi.zze
vv ...
Tôi đã thử tất cả các phương pháp tôi thấy, một trong số đó là this. Tôi cũng sử dụng plugin dexcount được đề cập ở cuối để đếm các phương pháp trong ứng dụng của tôi. Tôi không biết cách đính kèm tệp vào câu hỏi để bạn có thể tải xuống debug.txt từ here.
Lưu ý: Tôi tin rằng đây là vấn đề giới hạn 65k vì trên thiết bị di động Android 4.4, hiển thị quảng cáo và lỗi không hiển thị trong nhật ký. nhưng trên hai điện thoại di động Android 4.2, quảng cáo không hiển thị và các lỗi như thế nào. TUY NHIÊN, nếu bạn nhìn vào debug.txt:
phương pháp các lĩnh vực tên gói/lớp
15.236 5010 android
14.282 9575 com
Nghỉ ngơi ít hơn 3k kết hợp
Tôi không thấy 65k ... trừ khi Android và nội dung bên dưới (android.something) ngăn xếp
Tôi thiếu gì ở đây?
Tôi không chắc mình hiểu cách "Không thể tìm thấy lớp học" có nghĩa là bạn đang đạt đến giới hạn 65k. Và bạn đã minifyEnabled là sai, vì vậy nó không nên obfuscate những lớp học –
Cảm ơn bạn đã bình luận. Lý do tôi cho rằng vấn đề là giới hạn 65k, là bởi vì đó là những gì tôi tiếp cận trong khi googling. Nó cũng phải đối mặt rất nhiều sau khi mọi người thêm gms. Liên kết này là một ví dụ về những gì đã dẫn tôi đến kết luận này. Những điểm chung: D/dalvikvm, VFY: thay thế mã opcode 0x71 tại 0x0000 vv .. http://stackoverflow.com/questions/35794629/could-not-find-method-android-app-notificationbuilder-setlocalonly/35830652 –
Chắc chắn. Bạn cũng có thể đọc hộp màu xanh thứ hai trên trang này, nhưng bạn đã xử lý đúng cách bằng cách chỉ bao gồm quảng cáo. https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project –