Загрузка изображений на сервер с использованием дооснащения

Сегодня у меня была такая же ошибка, но проблема была совсем не такой. Я использую ADB с Android, установленным в VirtualBox. Я попытался установить разные версии своего приложения (подписанный / не подписанный, режим отладки / выпуска) и получил две ошибки: INSTALL_FAILED_UID_CHANGED и INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES.

Теперь, глядя на /data/data/{package.name} Я обнаружил кучу файлов, которые все еще были там после удаления приложения. Я попытался rm -rf их без успеха: у меня были ошибки ввода / вывода.

Решение было:

  • Завершить работу VM
  • Установите изображение VDI с помощью vdfuse (чтение / запись)
  • Отредактируйте файл изображения Partition1 с помощью e2fsck
  • Umount и перезапустите VM
-1
задан Jona 1 March 2019 в 16:03
поделиться

1 ответ

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    if (resultCode == Activity.RESULT_OK)

        when(requestCode){
            GALLERY -> {
                val selectedImage= data!!.data

                val bitmap = MediaStore.Images.Media.getBitmap(context!!.contentResolver, selectedImage)
                avatar.setImageBitmap(bitmap)

                val file = File(getRealPathFromURI(selectedImage))

                val id = RequestBody.create(MediaType.parse("text/plain"), userID.toString())

                val reqBody = RequestBody.create(MediaType.parse("image/jpeg"), file)

                val body = MultipartBody.Part.createFormData("file", file.name, reqBody)

                val api = RetrofitClient.getInstance().apiService
                val call = api!!.uploadImage(id, body)

                call.enqueue(object: Callback<ResponseBody>{
                    override fun onFailure(call: Call<ResponseBody>, t: Throwable) {
                        Toast.makeText(context, t.message, Toast.LENGTH_SHORT).show()
                        println("Failure")
                    }

                    override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
                        if (response.isSuccessful){
                            println("Successful " + response.body()?.string())

                        }else{
                            response.errorBody()?.string()
                            println("Error " + response.headers().toString())

                        }


                    }

                })


            }

            CAMERA -> {
                //code here
            }
        }

}

И в интерфейсе API:

@Multipart
@POST("avatar")
fun uploadImage(
        @Part("userID") user_ID: RequestBody,
        /*@Part("file") name: RequestBody*/
        @Part image: MultipartBody.Part) : Call<ResponseBody>
0
ответ дан Jona 1 March 2019 в 16:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: