小编Bla*_*hex的帖子

Gradle:从Android资源文件夹中排除文件

请问,您知道在合并多个资产文件夹之前或合并期间如何从Android项目资产文件夹中排除某些文件的方法吗?

例如:

android {
  sourceSets {
    main {
      assets.srcDirs = [fileTree(dir: 'assets1', exclude: 'myfile.txt'), 'assets2'] // does not work
      assets.exclude 'assets1/myfile.txt' // does not work
      assets.exclude '**/*.txt' // does not work
      assets.exclude '*.txt' // does not work
    }
  }

  packagingOptions {
    exclude 'assets1/myfile.txt' // does not work
    exclude '**/*.txt' // does not work
    exclude '*.txt' // does not work either
  }


  aaptOptions {
    ignoreAssetsPattern "myfile.txt" // does not work
  }
}
Run Code Online (Sandbox Code Playgroud)

android assets gradle build.gradle

22
推荐指数
4
解决办法
8618
查看次数

如何使用Android Studio和/或Gradle仅构建单个buildType

我在build.gradle中有几种构建类型:

signingConfigs {
  debug {
    storeFile file("debug.keystore")
    storePassword = "android"
    keyAlias = "androiddebugkey"
    keyPassword = "android"
  }
  unsigned{
    storePassword = ""
    keyAlias = ""
    keyPassword = ""
  }
  release {
    storeFile file("release.keystore")
    keyAlias "alias"
    storePassword "foo"
    keyPassword "bar"
  }
}

buildTypes {
  release {
    debuggable false
    jniDebugBuild false
    signingConfig signingConfigs.release
  }
  unsigned {
    debuggable false
    jniDebugBuild false
    signingConfig signingConfigs.unsigned
  }
  debug {
    debuggable true
    jniDebugBuild true
    signingConfig signingConfigs.debug
  }
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但问题是我不知道(我没有找到很多搜索后)如何从Android Studio或命令行构建单一构建类型的方法.

你知道吗?

android build gradle android-studio

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

如何使用STL实现LFU缓存?

我正在尝试使用纯STL实现LFU(最不常用)缓存(我不想使用Boost!).

要求是:

  • 使用Key类似的关联访问任何元素std::map.
  • 能够释放最低优先级的项目(使用其UsesCount属性).
  • 能够更新UsesCount任何项目的priority().

问题是:

  • 如果我使用std::vector的物品(集装箱Key,Value,UsesCount),std::map迭代器来为关联访问和向量的容器std::make_heap,std::push_heapstd::pop_heap为载体中的优先级队列的实现,在地图的itertors不是堆操作才有效.
  • 如果我使用std::list(或std::map)代替std::vector以前的配置,std::make_heap则无法编译等因为它们的迭代器不支持aritmetic.
  • 如果我想使用std::priority_queue,我没有能力更新项目优先级.

问题是:

  • 我错过了一些明显可以解决这个问题的方法吗?
  • 您能否指出一些符合以前要求的LFU缓存的纯C++/STL实现?

感谢您的见解.

c++ algorithm caching stl

10
推荐指数
1
解决办法
3479
查看次数

SIGKILL在用C++分配内存时

我正在为C++中的内存有限的嵌入式系统(Tegra 2)开发应用程序.我处理的NULL结果newnew[]整个有时会发生,但应用程序能够处理这个代码.

问题是如果内存完全耗尽,系统会通过SIGKILL杀死进程.我可以告诉你new应该只返回NULL而不是杀死进程吗?

c++ memory-management sigkill

9
推荐指数
1
解决办法
2010
查看次数

从JavaScript中播放WebView中的声音

我正在尝试从资源中加载到WebView的JavaScript代码中播放声音:

WebView web_view = (WebView) findViewById(R.id.web_view);
web_view.getSettings().setJavaScriptEnabled(true);
web_view.setWebChromeClient(new WebChromeClient());
web_view.loadUrl("file:///assets/www/index.html");
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法的所有组合,如何使用OGG,MP3和WAV文件播放音频,JavaSrcipt代码位于assets/www/js/play.js:

audio = new Audio("../audio/sound.mp3");
audio.load();
audio.play();

audio = new Audio("./audio/sound.mp3");
audio.load();
audio.play();

audio = new Audio("audio/sound.mp3");
audio.load();
audio.play();

audio = new Audio("file:///android_asset/www/audio/sound.mp3");
audio.load();
audio.play();

audio = new Audio();
audio.src = document.getElementById("audio_tag").src;
audio.load();
audio.play();
Run Code Online (Sandbox Code Playgroud)

audio_tag的位置<audio id="audio_tag" src="audio/sound.mp3" preload="auto"></audio>,也尝试使用路径和格式的所有组合.

但是声音没有播放,只知道可能出现的错误是遵循一般错误:

E/MediaPlayer(1530):错误(1,-2147483648)

从这条信息消息中猜测,音频文件的路径应该适用于第二个第五个案例:

I/StagefrightPlayer(33): setDataSource('file:///android_asset/www/audio/sound.mp3');
Run Code Online (Sandbox Code Playgroud)

虽然这个问题可能被认为是Android WebView使用javascript播放音频的重复, 但答案无论如何都没有帮助,因为永远不会调用shouldOverrideUrlLoading,我试图在这里更准确地指出这个问题.

你有什么可能是错的线索或如何找出它是什么?

谢谢.

编辑:使用Android 2.3在Galaxy Gio中测试给出了不同的错误集:

02-06 17:15:13.829:V/PlayerDriver(95):AddToScheduler 02-06 17:15:13.829:V/PlayerDriver(95):PendForExec 02-06 17:15:13.829:V/PlayerDriver(95): OsclActiveScheduler :: Current 02-06 17:15:13.829:V/PlayerDriver(95):StartScheduler 02-06 17:15:13.829:V/PVPlayer(95):send PLAYER_SETUP 02-06 …

javascript audio android webview

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