gpt4 book ai didi

java - 使用 IKVM 将 jar 转换为 dll 时出错

转载 作者:行者123 更新时间:2023-12-01 14:50:53 27 4
gpt4 key购买 nike

我在 android 中创建了一个库项目。该库项目从图库中选择图像的真实路径。我想在 asp.net 中引用这个应用程序。所以,我使用ikvm将其转换为dll,但有一个警告“”。

代码如下。

public String BrowseImageFromGallery(){
Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent, GALLERY_REQUEST);
if(imageRealPath != null)
{
return imageRealPath;
}
return null;
}

public String TakeImageFromCamera(){

TakeImage();
return imageRealPath;
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent ){

switch (resultCode){

case GALLERY_REQUEST : {
selectedImageUri = intent.getData();
imageRealPath = GetRealPathFromUri(selectedImageUri);
}
break;

case CAMERA_REQUEST : {
imageRealPath = GetRealPathFromUri(selectedImageUri);
}
break;
}

}

private String GetRealPathFromUri(Uri imageUri) {

try
{
String[] proj = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(imageUri, proj, null, null, null);
int column_Index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_Index);
}
catch(Exception e)
{
return imageUri.getPath();
}
}

private void TakeImage() {
ContentValues values = new ContentValues();
imageName = String.valueOf(System.currentTimeMillis());
values.put(MediaStore.Images.Media.TITLE, imageName);
selectedImageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, selectedImageUri);
startActivityForResult(intent, CAMERA_REQUEST);

}

}

问题是由于我正在扩展 Activity 类,并且当我将其转换为 dll 时它没有引用。因此,我添加了 android.jar 的引用。一切正常,但是当我运行程序时出现错误。

为了检查什么是我在 java 库中创建了一个简单的添加方法,并在单击按钮时从 C# 代码调用它。错误如下

Error

最佳答案

IKVM 适用于 Java SE。您只能使用Java SE 或第三方的API。您的 Android.jar 只是编译器的一个 stup jar 文件。在运行时,它包含对 Android Java VM 的 native 调用。

创建您自己的 stub android.app.Activity 而不是 Android.jar。您的 stub 应该仅调用标准 Java API 的 API。

关于java - 使用 IKVM 将 jar 转换为 dll 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14869914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com