Android资产 - 不是APK中打包的所有文件夹/文件

时间:2016-06-17 23:59:46

标签: android apk assets filenotfoundexception

我在android中遇到了ASSETS文件夹的问题。我把文件夹和文件放在ASSETS中,对于一些文件夹/文件,我得到了FileNotFoundException。然后我按代码打印了ASSETS文件夹中的所有文件夹/文件名,我看到并非所有文件夹/文件都打包到APK中。为什么会这样?所有文件和文件夹都有没有特殊字符的名称,例如:“Prevoz tereta i lica vozilima / Prevoz tereta i lica vozilima.json”?对于某些文件/文件夹,它可以正常工作有谁知道如何解决这个问题?提前致谢!

enter image description here

4 个答案:

答案 0 :(得分:1)

我想我找到了解决问题的方法。需要在ASSETS文件夹中的文件是在我的桌面上创建的。我在Android Studio中创建了ASSETS文件夹,但是当我将文件从桌面放到资源时,我没有通过Android Studio而是通过Windows资源管理器放置它们。我在那里找到了资产文件夹和粘贴文件的位置,所以我认为Android Studio没有为其中一些编制索引。现在我通过Android Studio创建了4-5个文件和文件夹(右键单击assets文件夹 - > new - >文件/目录),并且每个文件和文件夹都打包并正常工作。所以我认为这是问题和解决方案。我将不得不在Android Studio中手动创建每个文件和文件夹,然后将数据放入这些空文件中。谢谢大家的帮助/建议。我很高兴我找到了解决方案,即使它是愚蠢的。 明天我会把它作为一个公认的答案,因为stackoverflow直到明天才允许我这样做。

答案 1 :(得分:0)

你必须以某种方式刷新你的项目。 如果您使用的是Android Studio转到文件>同步或按'CTRL + ALT + y'。 确保您的assets文件夹位于项目的src / main目录中。

答案 2 :(得分:0)

file-invalidate并重新启动

tools-android-sync项目与gradle文件

答案 3 :(得分:0)

如果将离子ATOM /其他文件和离子文件传输到ANDROIDSTUDIO,请阅读

存在IDE界面问题。 对我有用的是:像这样删除和读取android:

<div class="container"> <div class="row"> <div class="col s6"> <label>Num Pages Paginate</label> <select id="numPagesPaginate" name="numPagesPaginate" data-ng-model="bkCtrl.page.pageSize"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </div> <div class="col s6"> <label>Num Ratings Edit</label> <select id="numRatingsEdit" name="numRatingsEdit"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </div> </div> </div> <script> $(document).ready(function () { $('select').formSelect(); }); </script> (您可能需要从平台上手动删除android文件夹)

ionic cordova platform remove android

然后,您可以继续生成发行文件,然后在android studio等中生成签名的apk。