我正在开发一个Android应用程序,google map api v2
用于在片段中显示地图.当我运行应用程序时,我总是偶尔在我的日志中收到此错误消息poppin.
我试过的事情:
到目前为止,没有什么诀窍......
在"日志"选项卡中一次:
2364-3928/com.example.android.app E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.android.gms.googlecertificates.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.example.android.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.android.app-2/lib/arm, /data/app/com.example.android.app-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
2364-3928/com.example.android.app I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:1
2364-3928/com.example.android.app I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, version >= 1
2364-3928/com.example.android.app W/System: ClassLoader referenced unknown path: /data/user/0/com.google.android.gms/app_chimera/m/00000000/n/armeabi
2364-3928/com.example.android.app D/ChimeraFileApk: Primary ABI of requesting process is armeabi-v7a
2364-3928/com.example.android.app D/ChimeraFileApk: Classloading successful. Optimized code found.
2364-3928/com.example.android.app D/GoogleCertificates: com.google.android.gms.googlecertificates module …
Run Code Online (Sandbox Code Playgroud) 当我启动我的应用程序时,我收到以下错误:
V/GoogleSignatureVerifier(4962): com.myapp.application signature not valid. Found:
V/GoogleSignatureVerifier(4962): MIIDDTCCAfWgAwIBAgIEO0I8qTANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJVUzEQMA4GA1UE
V/GoogleSignatureVerifier(4962): ChMHQW5kcm9pZDEWMBQGA1UEAxMNQW5kcm9pZCBEZWJ1ZzAeFw0xNTA0MjEyMDM4NDRaFw00NTA0
V/GoogleSignatureVerifier(4962): MTMyMDM4NDRaMDcxCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdBbmRyb2lkMRYwFAYDVQQDEw1BbmRy
V/GoogleSignatureVerifier(4962): b2lkIERlYnVnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/4shkSGhYP1pwMY4bFc
V/GoogleSignatureVerifier(4962): dKuMg6JyTdUON6XF8VxifADMYd/WwgzsETT+AHZXlo6RwQFhtwbxrvmuhBOMip2ivhmRGT8JpBcI
V/GoogleSignatureVerifier(4962): FqjCOxLzw3B3psZhnioZwCBTKBrCau8/q0XW40lXa/OCy2wA4EZs2ThaqwqgdGwpKXN+qHNHAFAS
V/GoogleSignatureVerifier(4962): 0g/SdupsSID+WctlL2XdCo50Jq/bJJAWQBz1SL03xBWUikuiWKM6mz/6Up8oE4WtZhU7V83R7FYM
V/GoogleSignatureVerifier(4962): XmRU4CghlvczG+ujCrZwSsYttsZgz2nb4NY2w9fvevAXgSB/N6JfOatnccW5vmukkm6g12iysA9u
V/GoogleSignatureVerifier(4962): hS3EjVb01bKyMdoXhQIDAQABoyEwHzAdBgNVHQ4EFgQUByeU0uE1tXyrL0UimKkJH2CbeXIwDQYJ
V/GoogleSignatureVerifier(4962): KoZIhvcNAQELBQADggEBABPPel3zEbk6/ZzwfvIS0z8IqvYgzxzxSZFEAp+PrlEEyk+IVHQgQAVS
V/GoogleSignatureVerifier(4962): I6JM9rNkxR2hvQHP3V9pd2d5bYhsCBZFSn6drOmnBrnABXH8e4OdqN9fRcKn+acfbZ+yBvZoVbr/
V/GoogleSignatureVerifier(4962): IhRvRrpLDtDNnD4kUoLfTgw/Xygdiq5/aU5WSfXdrUx6Va0vg6uJZY6Yq4J4a/R+/T7lLwzQgerq
V/GoogleSignatureVerifier(4962): eNUvY9HbcmegJDKMGeyc4Po8akAt9gDRo4nswuP0Sve8oSMqBEfO8ItTsIPx3UVEXuYUeC8e8nwb
V/GoogleSignatureVerifier(4962): fyhDXSFAo59Y1+NWcZNsGdum95YV8oZloF7+4fFqBwz7w0mb+M+JfY1sg7I=
Run Code Online (Sandbox Code Playgroud)
我已经读过debug.keystore默认密钥只有1年的有效期,所以必须先删除它以让android studio生成一个新的.最终我做到了,但错误仍然存在.
此举后,我的应用程序中的Google地图不再可见...
如果可以的话请帮忙.
我正在努力DrawerLayout
搞动画做奇怪的事情; 该汉堡包图标是laggy,往往从汉堡包切换,而动画箭头,如果我不把一个处理器延迟fragment
交易的动画.
所以我最终放了一个处理程序,等到汉堡包图标执行动画,但我们不需要等到抽屉接近切换片段就感觉不自然了.我确信有更好的方法可以解决这个问题......
这是我目前的做法:
private void selectProfilFragment() {
final BackHandledFragment fragment;
// TODO test this again
Bundle bundle = new Bundle();
bundle.putString(FragmentUserProfile.USER_FIRST_NAME, user.getFirstname());
bundle.putString(FragmentUserProfile.USER_LAST_NAME, user.getLastname());
bundle.putString(FragmentUserProfile.USER_PICTURE, user.getProfilepic());
bundle.putString(FragmentUserProfile.USER_EMAIL, user.getEmail());
bundle.putBoolean(FragmentUserProfile.USER_SECURITY, user.getParameters().getSecuritymodule().equals("YES"));
fragment = new FragmentUserProfile();
fragment.setArguments(bundle);
mDrawerLayout.closeDrawer(mDrawerLinear);
new Handler().postDelayed(new Runnable() {
public void run() {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.pull_in_right, R.anim.push_out_left, R.anim.pull_in_left, R.anim.push_out_right);
ft.replace(R.id.content_frame, fragment)
.addToBackStack(fragment.getTagText())
.commitAllowingStateLoss();
}
}, 300);
}
Run Code Online (Sandbox Code Playgroud)
它仍然毛刺在之间一点点DrawerLayout
的关闭和开启片段交易的动画.
这是我如何实现抽屉:
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerListChild.setAdapter(new DrawerListAdapter(this, R.layout.drawer_layout_item, mPlanTitles));
mDrawerListChild.setOnItemClickListener(new …
Run Code Online (Sandbox Code Playgroud) 我Sensor.TYPE_ORIENTATION
用来确定设备的当前角度,但TYPE_ORIENTATION
在API版本8上已弃用.在SensorManager手册中,它指的是使用getOrientation()
功能TYPE_ORIENTATION
.
这是我的旧代码:
public void onSensorChanged(SensorEvent event) {
Log.d("debug","Sensor Changed");
if (event.sensor.getType()==Sensor.TYPE_ORIENTATION) {
Log.d("debug",Float.toString(event.values[0]));
float mAzimuth = event.values[0];
float mPitch = event.values[1];
float mRoll = event.values[2];
Log.d("debug","mAzimuth :"+Float.toString(mAzimuth));
Log.d("debug","mPitch :"+Float.toString(mPitch));
Log.d("debug","mRoll :"+Float.toString(mRoll));
}
}
Run Code Online (Sandbox Code Playgroud)
我对使用getOrientation()
功能感到困惑,有人能告诉我一个如何获得角度的例子吗?
我正在尝试将文件(图片)上传到服务器Retrofit 2
.我正在关注那个起初看起来很简单的教程,但在我的情况下不起作用......
当我调用API函数时,我总是收到此错误:
W/System.err: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
W/System.err: at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:190)
W/System.err: at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166)
W/System.err: at retrofit2.Retrofit$1.invoke(Retrofit.java:145)
W/System.err: at java.lang.reflect.Proxy.invoke(Proxy.java:393)
W/System.err: at com.plante.android.cobalt.fragment.FragmentIncidentPlan.uploadFile(FragmentIncidentPlan.java:575)
Run Code Online (Sandbox Code Playgroud)
这是我的API调用:
@Multipart
@POST(Constants.URL_UPLOAD)
Call<ResponseBody> upload(@Part RequestBody description,
@Part MultipartBody.Part file);
Run Code Online (Sandbox Code Playgroud)
这是我用来上传文件的方法:
private void uploadFile(String path) {
// create upload service client
// use the FileUtils to get the actual file by uri
File file = new File(path);
Log.e(TAG, file.getAbsolutePath());
// create RequestBody instance from file
RequestBody requestFile =
RequestBody.create(MediaType.parse("multipart/form-data"), file);
// MultipartBody.Part is used …
Run Code Online (Sandbox Code Playgroud) 我有这个问题,在编译我使用的所有库时,我在Dalvik中溢出64k方法限制.当我导入支持库时,我开始遇到这个问题,因为有些已经包含在其他库中,它最终溢出了限制.
目前,我排除了我所知道的那些,但是手动这样做似乎很奇怪.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:multidex:1.0.1'
compile "com.android.support:percent:${supportLibVersion}"
compile("com.android.support:design:${supportLibVersion}") {
exclude module: 'support-v4'
}
compile("com.android.support:cardview-v7:${supportLibVersion}") {
exclude module: 'support-v4'
}
compile('com.github.nkzawa:socket.io-client:0.4.1') {
exclude group: 'org.json', module: 'json'
}
compile('com.astuetz:pagerslidingtabstrip:1.0.1') {
exclude module: 'support-v4'
}
//...
}
Run Code Online (Sandbox Code Playgroud)
步骤1
在build.gradle中添加MultiDex支持库的依赖项
dependencies {
...
compile 'com.android.support:multidex:'
...
}
Run Code Online (Sandbox Code Playgroud)
第2步
通过在gradle配置的buildType或productFlavor部分中设置multiDexEnabled标志来启用multi-dexing.
defaultConfig {
...
multiDexEnabled true
...
} …
Run Code Online (Sandbox Code Playgroud) android android-appcompat gradle android-support-library android-multidex
让\xe2\x80\x99s 假设您正在 AnyCancellable 上使用内置.store(in:)
方法,如下所示:
private var subscriptions = Set<AnyCancellable>()\n\nlet newPhotos = photos.selectedPhotos\nnewPhotos\n .map { [unowned self] newImage in\n return self.images.value + [newImage]\n }\n .assign(to: \\.value, on: images)\n .store(in: &subscriptions)\n
Run Code Online (Sandbox Code Playgroud)\n如果您有一个经常执行此操作的应用程序 - 发布商完成后这些内容是否会被删除?
\n另外,如果我决定采用这种方法:
\nprivate var newPhotosSubscription: AnyCancellable?\n\nself.newPhotosSubscription = newPhotos\n .map { [unowned self] newImage in\n self.images.value + [newImage]\n }\n .assign(to: \\.value, on: images)\n
Run Code Online (Sandbox Code Playgroud)\n每次我再次调用该方法时,它都会覆盖 AnyCancellable,前一个会发生什么?它在被释放之前是否仍然完成?
\nAVAudioMixerNodes
当我尝试将两个连接到 的麦克风输入时,我遇到了崩溃AVAudioEngine
。我无法在网上找到如何管理两个或多个节点到同一输入的文档。
处理有多个节点监听麦克风的情况的正确方法是什么?
我在后台线程上调用这三个方法:
private func setupSession() {
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(.playAndRecord, options: [.mixWithOthers])
if session.isInputGainSettable {
try session.setInputGain(0.2)
}
try session.setActive(true, options: .notifyOthersOnDeactivation)
} catch let error as NSError {
LoggerManager.shared.error(error: error, message: "Error while setting up AVAudioSession Category/Active status")
}
}
private func setupMixerNodes() {
analyzerNode = AVAudioMixerNode()
analyzerNode.volume = 0
volumeNode = AVAudioMixerNode()
volumeNode.volume = 0
engine.attach(analyzerNode)
engine.attach(volumeNode)
}
private func makeConnections() {
/* input microphone */
let inputNode = …
Run Code Online (Sandbox Code Playgroud) 我真的想在Proguard
我的应用程序中使用此功能,但是看到那些数千个警告让我想知道它是否值得...我应该添加什么才能使它成功构建?或者让我知道这是否是一个失败的原因......
这是我的Gradle
档案:
(......)
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/services/javax.annotation.processing.Processor'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
lintOptions {
disable 'InvalidPackage'
disable 'LongLogTag'
}
dexOptions {
jumboMode = true
javaMaxHeapSize "4g"
}
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each …
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以以编程方式或在xml中指定使用windowSoftInputMode
特定于a的方式Fragment
.
假设我只有一个activity
包含两个fragment
,一个片段应该使用adjustPan
而另一个片段应该使用adjustResize
.我应该怎么做呢?
谢谢!
android ×8
swift ×2
animation ×1
combine ×1
google-maps ×1
gradle ×1
objective-c ×1
orientation ×1
proguard ×1
retrofit ×1
retrofit2 ×1
sensor ×1