- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如标题所述:运行我的 Android 混合 (Java/C) 项目时,出现此错误:
08-07 12:49:54.933 4546-4557/editor.lua.com.luaeditor E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 10
java.lang.ExceptionInInitializerError
at editor.lua.com.luaeditor.Opengl_Renderer.onSurfaceChanged(Opengl_Renderer.java:28)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1381)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1138)
Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1312]: 2123 cannot locate 'srand'...
at java.lang.Runtime.loadLibrary(Runtime.java:434)
at java.lang.System.loadLibrary(System.java:554)
at editor.lua.com.luaeditor.Native.<clinit>(Native.java:12)
at editor.lua.com.luaeditor.Opengl_Renderer.onSurfaceChanged(Opengl_Renderer.java:28)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1381)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1138)
为了安全起见,这是我的 build.grable :
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "editor.lua.com.luaeditor"
minSdkVersion 10
targetSdkVersion 10
ndk {
cFlags "-NDK_HOST_32BIT 1"
cFlags "-std=c99"
moduleName "Lua_Editor"
ldLibs "GLESv2"
}
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
}
这是我的 list :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="editor.lua.com.luaeditor">
<application android:allowBackup="true" android:label="@string/app_name"
android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<activity
android:name=".Lua_Editor"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
通过浏览网络和文档,我发现其他人也有同样的问题:Android NDK: load_library: cannot locate srand当时的答案是安装 32 位 NDK。
经过进一步挖掘,我发现 build-ndk 有一个选项:NDK_HOST_32BIT 1
此选项应该强制 NDK 编译为 32 位。
使用 Android Studio,所以使用 gradle,我搜索了在哪里可以添加这个选项来配置 ndk,唯一编译的尝试是尝试粘贴为我的 build.grable
仍然,我的错误仍然存在,我一直在挖掘,但 android studio 1.3 预览版 ndk 插件的文档似乎很少。
有关信息:我在 Samsung Galaxy S 上运行应用程序,在 64 位 Mint 计算机(基于 Ubuntu)上编译。
所以我求助于你们作为最后的手段。是我傻还是我傻?
最佳答案
如果您希望代码在旧版本上运行,则需要针对 21 之前的 SDK 版本构建 native 源代码。 (Java 部分仍然可以使用最新的 SDK 构建。)
如果可以降低通用 compileSdkVersion
,请尝试将其降低到 19 或 20。如果不行,您可能想尝试在 中添加
block 。compileSdkVersion 19
ndk
参见 https://stackoverflow.com/a/27338365/3115956和 https://stackoverflow.com/a/27093163/3115956有关此问题的更多解释。
关于安卓工作室 1.3 NDK : cannot locate 'srand' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876608/
这个问题在这里已经有了答案: What‘s the difference between srand(1) and srand(0) (7 个答案) 关闭 8 年前。 srand(0) 和 sran
我刚刚发现 srand(1) 将 C(++) 的 PRNG 重置为调用 srand 之前的状态(如reference)。但是,种子 0 似乎也这样做,或者任何调用 srand 之前的状态似乎使用种子
是否允许 srand(0) 与 srand(1) 具有相同的效果? C11, 7.22.2.2 srand 函数(强调): The srand function uses the argument a
如标题所示……可以将srand用作Flash的Math.random吗? 我问是因为我想以可重复的方式生成伪随机数。 最佳答案 不。但是过去我曾用BitmapData.noise()作为穷人的替代品。
但它总是给我 42 作为 SIZE。我想用 srand(time(NULL)) 随机化 SIZE 但显然它不起作用,因为它低于 SIZE 的随机化。当我尝试在 SIZE 随机化之前添加它时,编译器对我
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题?通过 editing this post 添加详细信息并澄清问题. 1年前关闭。 Improve this
我不明白 srand() 的含义在创建一个随机数。这是我的代码: /* srand example */ #include /* printf, NULL */ #include
我创建了一个选择排序算法。我想用各种输入来测试我的程序。 在不实际输入每个数组元素的情况下,如何使用操作数组的算法实现排序、反向排序和随机数组(固定长度[即 100,000])以用于测试目的? 最佳答
这个问题是关于这个问题中的评论的 Recommended way to initialize srand?第一条注释表示 srand() 在应用程序中只能调用一次。为什么会这样? 最佳答案 这取决于您
这个问题是关于这个问题中的评论的 Recommended way to initialize srand?第一条注释表示 srand() 在应用程序中只能调用一次。为什么会这样? 最佳答案 这取决于您
这个问题是关于这个问题中的评论的 Recommended way to initialize srand?第一条注释表示 srand() 在应用程序中只能调用一次。为什么会这样? 最佳答案 这取决于您
这个问题是关于这个问题中的评论的 Recommended way to initialize srand?第一条注释表示 srand() 在应用程序中只能调用一次。为什么会这样? 最佳答案 这取决于您
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Recommended way to initialize srand? 在c中使用srand()时遇到以下问题。
我已经用 C++ 实现了 RSA 算法,程序运行正常,但是 srand 调用使程序变慢了。我使用 srand 生成了两个质数和加密 key (e)。这是片段 ...................
谁能解释一下 srand 到底做了什么。我知道它与函数 rand 相关,并且输入 srand 函数的值是一个种子值,但这个种子值究竟如何影响 rand 函数? 最佳答案 在带有特定参数的 srand
#include #include using namespace std; int main () { srand(5); int r = rand() % 100 co
这个问题在这里已经有了答案: srand() — why call it only once? (7 个答案) C program - srand() [duplicate] (6 个答案) Rec
所以我正在制作一个选择排序程序,我必须在其中输入两个值:一个用于数组中使用的数字,另一个用于随机数生成器的种子。我对如何调整使用的数量有点困惑,因为我们可以放入的最大元素数量是 15。数组目前有 8
我正在制作一款游戏,目前正在研究随机掉落系统。 我计划创建一个随机 ID,这反过来又是项目的设计。如果我将相同的 ID 两次传递给 createItem 函数,它应该会创建完全相同的项目。 无论如何。
我将 srand() 与固定种子一起使用,我需要在一次执行中使用一组不同的种子(例如 100、200、300、...、1000)运行测试。这可能吗?问题是 srand() 定义在 main 的开头,所
我是一名优秀的程序员,十分优秀!