小编Rob*_*kus的帖子

错误::在打包APK期间重复文件

Android Studio.我在应用程序运行期间遇到了这种错误.

Error:Execution failed for task ':app:packageDebug'. Duplicate files copied in APK META-INF/notice.txt

的build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/ASL2.0'
    }

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'
    compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
    compile 'com.octo.android.robospice:robospice:1.4.11'
    compile 'com.octo.android.robospice:robospice-spring-android:1.4.11'
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

EDITED

这些排除选项解决了我的问题:

packagingOptions …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

144
推荐指数
4
解决办法
7万
查看次数

Android Studio库"错误:包不存在"

我已经将Android库创建为Android Studio模块.添加为我的根模块的依赖项.编码时,我可以从库包中导入任何类,但在我尝试运行应用程序时,我遇到了错误package some.mylibrary.project does not exist.

build.gradle根模块

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}
apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.google.android.gms:play-services:5.+'
    compile project(':libraries:mylibrary')
}

android {
    compileSdkVersion 17
    buildToolsVersion "20.0.0"

    lintOptions {
        disable 'InvalidPackage'
        checkReleaseBuilds false
        abortOnError false
    }

    ***
}
Run Code Online (Sandbox Code Playgroud)

build.gradle库模块

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'idea'

android {
    compileSdkVersion 17 …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-gradle-plugin

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

Android Gradle Plugin 3.0构建错误

遇到迁移到Android gradle插件3.0的问题.

项目根目录下的build.gradle文件

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}
Run Code Online (Sandbox Code Playgroud)

Android 应用程序模块build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        mavenCentral()
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
        classpath testDependencies.spoon
    }
}

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

apply plugin: 'com.android.application'

apply plugin: 'io.fabric'

spoon {
    debug = true
    grantAllPermissions = true
    shard = true
}

android {
    compileSdkVersion 25

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
Run Code Online (Sandbox Code Playgroud)

试图编译一个项目.我收到编译错误.

在此输入图像描述

但是,一旦 …

android android-studio build.gradle android-gradle-plugin android-gradle-3.0

11
推荐指数
2
解决办法
1426
查看次数

Kotlin 序列化 - 从字符串解码 JSON 数组

尝试将缓存的 json 字符串反序列化为数据对象并收到异常:kotlinx.serialization.json.internal.JsonDecodingException: Expected class kotlinx.serialization.json.JsonObject (Kotlin reflection is not available) as the serialized body of kotlinx.serialization.Polymorphic<List>, but had class kotlinx.serialization.json.JsonArray (Kotlin reflection is not available)

用于反序列化的代码

internal inline fun <reified R : Any> String.convertToDataClass() =
    Json {
        ignoreUnknownKeys = true
    }.decodeFromString(R::class.serializer(), this)
Run Code Online (Sandbox Code Playgroud)

代码示例:

val jsonString  ="""
[{"name1":"value1"}, {"name2":"value2"}]
"""
val dataObject = jsonString.convertToDataClass<List<SomeObject>>()
Run Code Online (Sandbox Code Playgroud)

当通过 Ktor 管道时,一切工作正常,但在尝试反序列化缓存为字符串的相同响应主体时会中断。

我知道这R::class.serializer()被标记为内部使用,但这是我知道如何从字符串内容反序列化泛型的唯一方法。

serialization json deserialization kotlin kotlin-multiplatform

9
推荐指数
1
解决办法
1万
查看次数

测试 Android Compose State 值

我已经实现了公开 ComposeState<T>实例的 Android 视图模型。例如,查看模型实现:

class MyViewModel<S> {
    private val _viewState: MutableState<S> = mutableStateOf(initialState)
    val viewState: State<S> = _viewState
    ...
    protected fun setState(newState: S) {
        _viewState.value = newState
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在单元测试中测试它将设置什么值/状态。只是我想要实现的目标的一个简短示例:

class MyViewModelTest {
    @Test
    fun `when view model initialized then should emit initial state first`() {
        val viewModel = MyViewModel()
        assertEquals(InitialState(), viewModel.viewState.value)
    }

    @Test
    fun `when view model interacted then should emit result state`() {
        val viewModel = MyViewModel()
        val expectedState = NewState()

        viewModel.setState(expectedState)

        assertEquals(expectedState, viewModel.viewState.value)
    }
} …
Run Code Online (Sandbox Code Playgroud)

junit android kotlin android-jetpack-compose

9
推荐指数
1
解决办法
4030
查看次数

PhoneGap的.无法启动地理定位服务

PhoneGap版本:2.0.0.Android API级别16(4.0.3版本).提示错误的代码示例:

navigator.geolocation.getCurrentPosition(onSuccess, onError, {enableHighAccuracy:true});

function onSuccess(position) {
    console.log('latitude: '+ position.coords.latitude);
    console.log('longitude: '+ position.coords.longitude);                  
}

function onError(error) {
    console.log('Appeared error : '+ error.message);                
}
Run Code Online (Sandbox Code Playgroud)

总是在模拟器Failed to start Geolocation service中出错,错误代码2.即使通过Android控制台DDMS发送GPS坐标

Android清单权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

android-emulator cordova

6
推荐指数
2
解决办法
6781
查看次数

Android ORMLite.左加入.WHERE子句

QueryBuilder<Answer, Integer> queryBuilder = helper.getAnswerDao().queryBuilder();
QueryBuilder<Question, Integer> questionQueryBuilder = helper.getQuestionDao().queryBuilder();

questionQueryBuilder.where().eq(Question.TYPE_COLUMN_NAME, "table");            
queryBuilder.leftJoin(questionQueryBuilder);

queryBuilder.where().eq(Answer.PICKED_COLUMN_NAME, true);

pickedAnswers = queryBuilder.query();
Run Code Online (Sandbox Code Playgroud)

生成的SQL语句:

SELECT `Answers`.* 
FROM `Answers`
    LEFT JOIN `Questions` ON `Answers`.`questionId` = `Questions`.`id`
WHERE `Answers`.`picked` = 1
    AND (`Questions`.`type` = 'table' )
Run Code Online (Sandbox Code Playgroud)

由于"AND"逻辑运算,此查询返回空结果集.这是ORMLite的默认行为.是否有可能改变"OR"操作与子句结合的地方?

我试过:所有方法queryBuilder.where().or()之前queryBuilder.where().eq(Answer.PICKED_COLUMN_NAME, true)queryBuilder.where().or(2)之后where().

android ormlite

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