标签: native

C#项目设置"允许不安全的代码"的实际功能是什么

我想知道C#项目设置"允许不安全代码"是否仅适用于项目本身的不安全C#代码,还是在链接本机C++ DLL时是否需要设置此选项?如何链接自身链接到本机DLL的托管DLL?这个选项在引擎盖下真正做了什么?

c# dll interop unsafe native

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

是否有任何工作要创建一个C#编译器来生成本机exe?

是否有任何工作要创建一个C#编译器来生成本机exe?例如,输出是本机exe而不是.NET程序集.

c# compiler-construction exe native

6
推荐指数
1
解决办法
802
查看次数

如何在Android应用程序中以编程方式查看不同的语言键盘?

在我的应用程序中,我有一个用户语言选择选项,因此用户应该能够键入他的母语.

为此,我需要在用户单击语言选择列表时显示本机语言键盘.

我搜索并找到了使用设置的多个答案 - >语言和键盘也找到了长按并从输入法中选择键盘的答案但是因为用户完全不知道设置和输入法

所以我需要以编程方式显示我的应用程序中的本机语言键盘

任何人都可以帮助我....紧急.....提前感谢

keyboard android native

6
推荐指数
0
解决办法
3703
查看次数

在NativeActivity中创建OpenGL着色器

我已经调整了本机活动NDK示例以合并来自hello-gl2示例的OpenGL代码.我处理APP_CMD_INIT_WINDOW消息然后尝试创建着色器.着色器创建失败,我尝试通过getShaderInfoiv获取信息,但是它也会无声地失败.

所以我的问题是 - 如何在纯原生Android应用程序中创建OpenGL ES 2.0着色器?

PS我知道如果使用Java GLSurfaceView并且不在正确的线程中创建它们,则着色器创建可能会失败,但是查看本机活动示例,它似乎只有一个线程!

shader android native opengl-es-2.0

6
推荐指数
1
解决办法
3509
查看次数

使用node-gyp构建时无法加载node.js本机插件,但在使用Visual Studio构建时它可以正常工作

我为node.js编写了一个本机插件,使用没有node-gyp的MSVC++编译它,并在节点REPL和应用程序中成功使用它.我正在使用x64节点并编译x64插件.我正试图用node-gyp来构建东西.我已经获得了node-gyp来生成Visual Studio解决方案并对其进行编译,但是出来的插件不起作用.我得到的唯一错误是:

Error: The specified procedure could not be found.

    at Object.Module._extensions..node (module.js:480:11)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at repl:1:13
    at REPLServer.self.eval (repl.js:111:21)
    at rli.on.e (repl.js:260:20)
    at REPLServer.self.eval (repl.js:118:5)
    at Interface.<anonymous> (repl.js:250:12)
Run Code Online (Sandbox Code Playgroud)

当我运行一个试图加载插件的脚本时,我得到了这个:

module.js:480
  process.dlopen(filename, module.exports);
          ^
Error: The specified procedure could not be found.

    at Object.Module._extensions..node (module.js:480:11)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (c:\blah\testheaders.js:1:75)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at …
Run Code Online (Sandbox Code Playgroud)

c++ native add-on node.js

6
推荐指数
1
解决办法
4763
查看次数

importing custom SO file to AOSP

I've built an AOSP system service following this tutorial: http://www.androidenea.com/2009/12/adding-system-server-to-android.html

现在我想使用预编译的.so文件,无法确定放在哪里,以便我的代码能够访问它.

所以,我在framewaork/base/libs/my_folder /创建了一个文件夹,并将两个文件放在一起:my_lib.so android.mk

android.mk的内容是:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE:= my_lib
LOCAL_MODULE_TAGS := optional

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

make运行没有错误,但是当代码尝试通过以下方式加载库时:System.loadLibrary("my_lib");

我收到了这个错误:

06-27 13:58:55.581:E/AndroidRuntime(806):引起:java.lang.UnsatisfiedLinkError:找不到库my_lib; 试过[/vendor/lib/my_lib.so,/system/lib/my_lib.so]

所以我将so文件添加到out/target/product/generic/system/lib但是得到了同样的错误.

那么我应该在哪里放置my_lib.so文件?它是一个android.mk需要它吗?也许我应该在系统的某个地方注册?

提前致谢!

android native android-source

6
推荐指数
1
解决办法
2600
查看次数

调用Picture.writeToStream()时Android 4.3中的Native Crash

Android 4.3中引入了回归.过去在以前版本的Android中运行的代码现在会导致本机崩溃,从而关闭进程.

当将大于32 kb的图像绘制到由Picture对象记录的画布时发生崩溃,该对象又被写入流中writeToStream().

当试图写下一个字符串(我认为是图像对象的Uri)时,Skia发生了崩溃.

I/DEBUG(122):     #00  pc 0001e3bc  /system/lib/libc.so (strlen+72)    
I/DEBUG(122):     #01  pc 000d9858  /system/lib/libskia.so (SkWriter32::writeString(char const*, unsigned int)+256)    
I/DEBUG(122):     #02  pc 00113d68  /system/lib/libskia.so (SkImageRef_ashmem::flatten(SkFlattenableWriteBuffer&) const+44)
Run Code Online (Sandbox Code Playgroud)

以下程序显示如何重现此问题.所需要的只是一个带有id'按钮'的按钮的布局.

    public class MainActivity extends Activity {

    static final String IMAGE_FILE = Environment.getExternalStorageDirectory() + "/test.jpg";
    static final String SKIA_FILE = Environment.getExternalStorageDirectory() + "/test.skia";

    private static Bitmap loadBitmap(final String filename) {
        Bitmap bitmap = null;
        FileInputStream is;
        try {
            is = new FileInputStream(filename);
            final BitmapFactory.Options options = new BitmapFactory.Options();
            options.inInputShareable …
Run Code Online (Sandbox Code Playgroud)

android native image skia

6
推荐指数
1
解决办法
1249
查看次数

Phonegap原生android插件

我尝试在phonegap/cordova 3.0.0上运行我的原生android插件,但我不工作,

涟漪的错误:未捕获的ReferenceError:未定义炬

来自index.html的调用

<button onclick="torch.shine(200);">dummy</button>
Run Code Online (Sandbox Code Playgroud)

plugin.xml

<!-- android -->
<platform name="android">
    <config-file target="res/xml/config.xml" parent="/*">

        <feature name="Torch">
            <param name="android-package" value="org.holzi.torch.Torch"/>
            <param name="onload" value="true" />
        </feature>

    </config-file>

       <js-module src="www/torch.js" name="Torch">
        <clobbers target="torch" />
    </js-module>

    <source-file src="src/android/Torch.java" target-dir="src/org/holzi/torch" />

    <config-file target="AndroidManifest.xml" parent="/manifest">
        <uses-permission android:name="android.permission.VIBRATE"/>
        <uses-permission android:name="android.permission.CAMERA"/>
    </config-file>
</platform>
Run Code Online (Sandbox Code Playgroud)

插件的www文件夹中的torch.js

var exec = require('cordova/exec');

/* constructor */
function Torch() {}

Torch.shine = function() {
        exec(
            function(result){ alert('ok: '+reply);      },
            function(err){ alert('Error: '+err); }
        , "Torch", "shine", ['200']);
}



var torch = new Torch(); …
Run Code Online (Sandbox Code Playgroud)

javascript plugins android native cordova

6
推荐指数
1
解决办法
2371
查看次数

Eclipse中的"本机库位置"条目有什么作用?

如果在Eclipse中添加用户定义的库,则可以设置"本机库位置".该字段允许输入一些目录路径.

这条路径何时起作用?

java eclipse java-native-interface native

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

为什么Java的InflaterInputStream(和其他类似的类)仅在其内部Inflater上有条件地调用end

在Java 8中,close()方法InflaterInputStream如下所示

public void close() throws IOException {
    if (!closed) {
        if (usesDefaultInflater)
            inf.end();
        in.close();
        closed = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

usesDefaultInflater是一个布尔值,仅true当使用以下构造函数时

public InflaterInputStream(InputStream in) {
    this(in, new Inflater());
    usesDefaultInflater = true;
}
Run Code Online (Sandbox Code Playgroud)

诸如此类的其他任何构造函数都会导致此布尔值设置为false

new InflaterInputStream(decryptInputStream, new Inflater(), 4096);
Run Code Online (Sandbox Code Playgroud)

因此,除非使用默认的构造函数,否则end()不会在上调用该方法Inflater,这意味着不必要的本机内存消耗,直到终结器线程可能在关闭了很长一段时间后才在Finalizer线程finalize上调用该方法。请参阅下面的实现。InflaterInflaterInputStreamInflater

/**
 * Closes the decompressor and discards any unprocessed input.
 * This method should be called when the decompressor is no longer
 * being used, …
Run Code Online (Sandbox Code Playgroud)

java memory heap native

6
推荐指数
1
解决办法
51
查看次数