小编Ern*_*zyk的帖子

类型 BuildConfig 被定义多次

我正在开发一个多模块 Android 应用程序,一切都在调试模式下工作,但现在当我尝试构建发布包时,我收到此错误:

Type ***module1.BuildConfig is defined multiple times:
***/module1/build/intermediates/runtime_library_classes/release/classes.jar:***/module1/BuildConfig.class,
***/module2/build/intermediates/runtime_library_classes/release/classes.jar:***/module1/BuildConfig.class
Run Code Online (Sandbox Code Playgroud)

这是我第一次看到这样的错误,我不知道如何解决这个问题,甚至不知道是什么导致了它。据我所知,库模块甚至不应该在发布模式下生成 BuildConfig 文件。

android gradle

41
推荐指数
6
解决办法
3万
查看次数

为什么Google使用适用于Android的Google API从版本12.0.1跳到15.0.0?

Google最近发布了适用于Android的新版Google API,让我感到非常奇怪,为什么他们会跳出3个主要版本.据我所知,他们没有在发行说明中解释它,所以我的问题就像标题一样.

为什么Google决定使用适用于Android的Google API从版本12.0.1升级到15.0.0?

versioning android google-api

7
推荐指数
1
解决办法
327
查看次数

父级维度设置为wrap_content时,ConstrainLayout Barrier无法正常工作

这是我的问题的再现

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toStartOf="@id/textView2"
        android:text="Text"/>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toEndOf="@id/textView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginStart="16dp"
        android:text="muchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertext"/>

    <android.support.constraint.Barrier
        android:id="@+id/barrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        app:barrierDirection="bottom"
        app:constraint_referenced_ids="textView, textView2"/>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@id/barrier"
        android:text="muchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertextmuchlongertext"/>

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

当您将父级高度设置为match_parent时,Barrier将按预期工作,但只要将其设置为wrap_content,它就无法正确布局.

以下是wrap_content的外观: 在此输入图像描述

这里有match_parent: 在此输入图像描述

如果有人能指出我正确的方向,我将不胜感激.我没有发现任何人反对以这种方式使用障碍,但没有找到任何有这种布局工作的人.

这是我的错误还是障碍中的错误?

android android-layout

4
推荐指数
1
解决办法
5786
查看次数

AVAudioEngine低音量

我正在用Swift编写一个iOS应用程序,该应用程序可以录制用户的语音,然后可以播放一些语音效果,但是问题是,使用内置的iPhone麦克风时,播放非常安静。使用耳机没有问题。

记录代码:

let recordingName = "my_audio.m4a"
let pathArray = [dirPath, recordingName]
let filePath = NSURL.fileURLWithPathComponents(pathArray)
print(filePath)

let recordSettings: [String: AnyObject] = [
    AVFormatIDKey: Int(kAudioFormatAppleLossless),
    AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue,
    AVEncoderBitRateKey : 320000,
    AVNumberOfChannelsKey: 2,
    AVSampleRateKey : 44100.0
]

let session = AVAudioSession.sharedInstance()
try! session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try! audioRecorder = AVAudioRecorder(URL: filePath!, settings: recordSettings)

audioRecorder.meteringEnabled = true
audioRecorder.updateMeters()
audioRecorder.delegate = self
audioRecorder.prepareToRecord()
audioRecorder.record()
Run Code Online (Sandbox Code Playgroud)

播放代码:

playerNode.stop()
playerNode.volume = 1.0
audioEngine.stop()
audioEngine.reset()

audioEngine.attachNode(playerNode)
audioEngine.attachNode(audioUnitTime)
audioEngine.connect(playerNode, to: audioUnitTime, format: receivedAudio.processingFormat)
audioEngine.connect(audioUnitTime, to: audioEngine.outputNode, format: receivedAudio.processingFormat)

playerNode.scheduleFile(receivedAudio, atTime: nil, …
Run Code Online (Sandbox Code Playgroud)

iphone avfoundation swift

2
推荐指数
1
解决办法
1466
查看次数