好网站建设公司开发方案,广告传媒公司加盟,在百度上建网站,网络营销案例分析范文点击跳转Unity3D特效百例点击跳转案例项目实战源码点击跳转游戏脚本-辅助自动化点击跳转Android控件全解手册点击跳转Scratch编程案例点击跳转软考全系列
#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧#xff0c;以及各种资源分享Unity3D特效百例点击跳转案例项目实战源码点击跳转游戏脚本-辅助自动化点击跳转Android控件全解手册点击跳转Scratch编程案例点击跳转软考全系列
关于作者 专注于Android/Unity和各种游戏开发技巧以及各种资源分享网站、工具、素材、源码、游戏等 有什么需要欢迎底部卡片私我交流让学习不再孤单。 实践过程
问题
这两天和同事联合开发应用同事用C开发 SO而同事的代码来源于另一个远程同事的 C# 代码中间跨度比较大而且开发工具还不同。造成了以下问题
NewStringUTF input is not valid Modified UTF-8Abort message: JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal continuation byte 0
string:
input: 0xf4
in call to NewStringUTF
from ......一看就知道哪的编码出问题了。
解决
一定要特别注意这个细节平时开发 SO 的同事是从 Android Studio 中进行创建 C 文件的在里面创建默认是 UTF-8 的编码格式而一旦有更多人合作项目的话其他人使用 VS 开发或者其他开发工具写完代码再给你代码文件如果你不留意直接拷贝文件进去然后编译虽然编译通过但是运行会出现如上的崩溃。这就是文件编码格式造成的问题一定要和同事沟通好用 UTF-8 编码或者你拿到代码文件后在 Studio 中自己弄一遍都可以。出现字符编码的崩溃你可能在有的设备上运行没事有的运行崩溃这是因为不同平板在字符编码的支持上有所不同导致的。我遇见的问题就是国内的产品硬件不崩溃国外的产品硬件崩溃。特别注意在 Android 中的 String 类型传递到 NDK 他们是 jstring 类型接收这时候他们不能直接用需要利用 GetStringUTFChars 转一下才可以。而 NDK 给 Java 需要 NewStringUTF 转一下才能回调出来。在这个过程中如果 NDK 需要用到里面的字符串做业务则需要转换我好想说了废话不用的话还传啥呢哈哈。使用 Base64 进行数据传递双方虽然多了一层编码解码的问题但是能避免编码的坑。我们在给 HTML 传递数据的时候也是这样解决的尤其是里面是 Json Json 里套Json字符串。
其他 作者小空和小芝中的小空 转载说明-务必注明来源https://zhima.blog.csdn.net/ 这位道友请留步☁️我观你气度不凡谈吐间隐隐有王者霸气日后定有一番大作为旁边有点赞收藏今日传你点了吧未来你成功☀️我分文不取若不成功⚡️也好回来找我。 温馨提示点击下方卡片获取更多意想不到的资源。