NDK中的本地函数要读一个5M左右的txt文件,怎么才能将txt打包进apk NDK中的本地函数要读一个5M左右的txt文件,怎么才能将txt打包进apk,怎么在安装时将txt文件放到sdcard中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ls的高人,想问下怎么放,读文件的路径怎么写?你是指把txt文件中的数据都写到.c的文件中吗? JAVA层可以获取app安装已有的路径,拼出res的路径,然后jni读取绝对路径 5M左右的txt文件,怎么才能将txt打包进apk?牛人们都来看一看啊,崩溃了 放到工程的assets目录下,然后在程序中,可以通过下面的函数获取对应文件的流。然后把再把这个流的文件写入到sdcard上面。。InputStream ifs = (InputStream)context.getAssets().open("5M的txt文件名.txt"); 如果是在 3.x 以上,用 assets 目录是个办法;这个办法的缺点是,在 2.x 的系统下,不能支持超过 1M 字节的文件 是,看到“TobyC”的回复,我也上网查了下assets的用法,确实不能支持超过 1M 字节的文件。难道我把文件拆成5、6个文件?还有没有别的方法。 好最后再问下,如果NDK中的本地函数要读一个5M左右的txt文件,正确的方法都是“安装时将文件写入sdcard中,然后供NDK中的本地函数使用”,是吧??期待回复啊 一个浪费点空间的简单办法,把 a.txt 修改后缀,比如修改成 liba.txt.so 然后放到 libs/armeabi 目录下,安装之后,这个文件在 /data/data/<package>/lib 目录下,可以直接读取... 嗯,这个方法不错,我现在实验一下。不过还有问题撒假如我把文件放在assets下,在“安装”的时候能将文件写入sdcard中吗?还是在程序第一次“运行”的时候才能将文件写入sdcard中?写入sdcard中后assets下的文件怎么删除呢?我上网查了好像不能删除。 按照11楼的方法实现了,但是,确实很费内存5M的.so,软件安装完都10M以上了,太大了,不知道更好的办法是什么??? 如果是放在assets文件夹中,到时候也不能删除,不过相比11楼的方法能够节省一半的内存,但是,程序启动的时候要花费很多时间。纠结啊 11楼说的方法我试了,apk包里面有伪装成SO的txt文件,但安装后的目录下没有看到.是不是编译时对文件格式进行校验了呀? 真有大小限制么?这个我不是很确定,可能真有吧,我这边倒是歪打正着弄出了一个解决办法。 公司开发了一个小项目,是用的2.2的sdk,其中用到一个8M的字体文件,我是将他放在assets下的,不过后来因为要加admob广告,而admob在AndroidManifest.xml配置的时候,其参数却是3.2sdk才有的,没办法,最后只能将版本强制转化为3.2(只是将sdk换成3.2,<uses-sdk android:minSdkVersion="8" />这个还是8),然后,可能是因为没有用到3.2中的新特性,所以程序能在2.2机器上运行,同时8M的字体文件也成功读入程序了- - 不知道到底是何种原因,希望能帮到楼主另求助:http://topic.csdn.net/u/20120821/11/5f51ba07-16df-485e-b9b5-243586aef448.html?98098 建立raw文件,然后将File丢进去,获得试用getResource().getRaw(); 可以这样的,还是放到assets目录下,第一次运行的时候,把文件读出取出来,并写到本机指定目录(因有限制,每次少读取一点,即可),下次从这个目录读出就可以了 为什么在服务里的进程或时钟无效? 怎么获得外置SD卡的路径呢,特别是对于有内置SD卡的设备 Android新人见识短,难题求高手 android通用lib? 关于SQLite的问题 android源码编译问题 android socket通信的问题 Android ListView添加数据问题 编写一个算法,实现1024位二进制数据的加减操作 RxJava中遇到的问题,求大神指导 求指点啊, 怎么判断android的触摸屏 对应 /dev/input/event?(ps,?为数字)中的event 几? Android_怎样实现音乐的边下载边播放?
最后再问下,如果NDK中的本地函数要读一个5M左右的txt文件,正确的方法都是“安装时将文件写入sdcard中,然后供NDK中的本地函数使用”,是吧??
期待回复啊
不过还有问题撒
假如我把文件放在assets下,在“安装”的时候能将文件写入sdcard中吗?还是在程序第一次“运行”的时候才能将文件写入sdcard中?写入sdcard中后assets下的文件怎么删除呢?我上网查了好像不能删除。
公司开发了一个小项目,是用的2.2的sdk,其中用到一个8M的字体文件,我是将他放在assets下的,不过后来因为要加admob广告,而admob在AndroidManifest.xml配置的时候,其参数却是3.2sdk才有的,没办法,最后只能将版本强制转化为3.2(只是将sdk换成3.2,<uses-sdk android:minSdkVersion="8" />这个还是8),然后,可能是因为没有用到3.2中的新特性,所以程序能在2.2机器上运行,同时8M的字体文件也成功读入程序了- -
不知道到底是何种原因,希望能帮到楼主
另求助:http://topic.csdn.net/u/20120821/11/5f51ba07-16df-485e-b9b5-243586aef448.html?98098