我想从ProGuard中排除一些文件路径.例com.myapp.customcomponents
我怎样才能做到这一点?我讨厌为这个目录中的每个自定义组件文件放置-keep标志.
我尝试了以下但它不起作用:
-keep public class com.myapp.customcomponents.*
Run Code Online (Sandbox Code Playgroud) 我希望通过代码从属性中获取指向引用.在我的xml布局中,我可以轻松地获得引用的drawable,如下所示:
android:background="?attr/listItemBackground"
Run Code Online (Sandbox Code Playgroud)
属性引用由我的主题设置.我想看看是否可以通过代码获得引用的drawable.
我可以通过创建样式attr并在自定义视图中读取值来解决这个问题,但在这种情况下,我想弄清楚这是否可行而不做所有这些.我认为这是可能的,但我还没有找到获得该属性参考的方法.
谢谢!
我有一个位图:
Bitmap bitmap = BitmapFactory.decodeFile("some/arbitrary/path/image.jpg");
Run Code Online (Sandbox Code Playgroud)
但我不打算向用户显示图像.我希望alpha为100(满分为255).如果这不可能,我可以设置不透明度Bitmap吗?
我目前正在处理我的付费应用程序的特定问题.在内部,它包含许可检查.该应用程序由黑客通过修改应用程序apk/jar修补.他们正在添加一个新类,有助于绕过许可检查.
我的目标是以某种方式检查这个特定的补丁.如果我发现它,我知道我的应用程序已被入侵.
有关如何知道包装上已修改某些内容的任何提示? 在我的案例中,对应用程序执行哈希不是一个真正的选项.
我想也许可以检查这个类是否存在会有所帮助,但是如果他们改变了类的名称怎么办?然后,另一个想法是以某种方式检查添加到类中的意外包含.
这些可能吗?任何建议都会有帮助:)
可能重复:
C/C++:传递可变数量的参数
我目前正在使用我的C文件中声明的以下宏.
#define COMMON_Print(...) printf (__VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)
现在该调用工作得很好,但事实证明我需要能够创建一个看起来像这样的C函数:
void COMMON_Print(...)
{
printf (__VA_ARGS__);
}
Run Code Online (Sandbox Code Playgroud)
因此该功能不起作用,我收到错误
"错误:未定义的标识符__VA_ARGS__"
我的项目的复杂性需要有一个函数,因为它是一个接口......那么如何获取参数...并将它们传递给printf函数?或者更好的是我做错了什么?
谢谢!
我正在寻找使用一组png图像创建视频,这些图像具有与静态背景合并的透明度.
经过大量的挖掘后,我觉得通过使用过滤器库肯定是可行的.
我最初的视频制作没有包括背景:
ffmpeg -y -qscale 1 -r 1 -b 9600 -loop -i bg.png -i frame_%d.png -s hd720 testvid.mp4
Run Code Online (Sandbox Code Playgroud)
使用-vf我可以将背景应用为叠加:
ffmpeg -y -qscale 1 -r 1 -b 9600 -i frame_%d.png -vf "movie=bg.png [wm];[in][wm] overlay=0:0 [out]" -s hd720 testvid.mp4
Run Code Online (Sandbox Code Playgroud)
然而问题是它在输入上覆盖了背景.根据libacfilter,我可以分割输入并播放它的内容.我想知道我是否能以某种方式改变叠加顺序?
任何帮助非常感谢!
更新1:
我正在尝试使以下过滤器工作,但我得到没有背景的电影:
ffmpeg -y -qscale 1 -r 1 -b 9600 -i frame_%d.png -vf "movie=bg.png [bg]; [in] split [T1], fifo, [bg] overlay=0:0, [T2] overlay=0:0 [out]; [T1] fifo [T2]" -s hd720 testvid.mp4
Run Code Online (Sandbox Code Playgroud)
更新2:
使用-vf选项制作视频.只需将输入狭缝用管道输入,然后将图像覆盖在上面并覆盖两个分割输入!可能不是最有效的方式......但它有效!
ffmpeg -y -r 1 …Run Code Online (Sandbox Code Playgroud) 我看到的错误是调用reset()和release()永远不会返回,从而使我的应用程序处于无限停止状态.如果我在reset()或release()之前调用stop()并不总是可以重现挂起.
任何与MediaPlayer锁定有任何类似问题的人?有小费吗?我正在研究一个多线程应用程序.
查看正在保留的线程时,DDMS会报告以下内容:
CLASS | 方法| 文件| LINE | NATIVE
android.media.MediaPlayer _release MediaPlayer.java -2 true
android.media.MediaPlayer release MediaPlayer.java 1049 false
我想弄清楚如何在我的小部件上禁用更新周期?我不需要这个特殊功能.添加它的时候我调用onUpdate的小部件就好了......
我遇到的问题是我的drawable资源使用了tileMode repeat.在某些情况下,图像只是拉伸,有时会被正确重复.
以下是我用来创建按钮状态的xml文件:
用于重复拼贴的图像绘制

^^^^^^^^^^^^^
btn_menu_item.xml
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true" android:visible="true" android:variablePadding="true">
<!-- selected -->
<item
android:state_selected="true"
android:drawable="@drawable/menu_item_selected"/>
<!-- focused -->
<item
android:state_focused="true"
android:drawable="@drawable/menu_item_pressed"/>
<!-- pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/menu_item_pressed"/>
<!-- normal -->
<item
android:state_pressed="false"
android:state_focused="false"
android:drawable="@drawable/menu_item_normal"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
menu_item_normal.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true">
<shape android:shape="rectangle">
<gradient
android:startColor="#757575"
android:endColor="#929292"
android:angle="90"/>
</shape>
</item>
<item>
<bitmap
android:src="@drawable/menu_lines_texture"
android:tileMode="repeat"
android:dither="true"/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
menu_item_pressed.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true">
<shape android:shape="rectangle">
<gradient
android:startColor="#dd4e00"
android:endColor="#c64600"
android:angle="90"/>
</shape>
</item>
<item>
<bitmap
android:src="@drawable/menu_lines_texture"
android:tileMode="repeat"
android:dither="true"/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
请看下面我正在谈论的内容.

我已经阅读了Android API并尝试通过互联网搜索声明自定义audioSessionId,然后使用它audioSessionId来初始化AudioFx类并为我的MediaPlayer或AudioTrack分配硬编码audioSessionId.
此方法允许我首先创建一个AudioFx,然后将新的MediaPlayer或AudioTrack附加到此audioSessionId.
我目前能够在Android 2.3.6上使用这种方法,但是在Android 4.x上我遇到了初始化失败的错误问题,或者在其他ICS/JellyBean设备上这个错误是沉默但调用函数会导致异常.
三星Galaxy S II [Android 4.0.3]: [问题不再适用于Android 4.0.4]
E/AudioEffect(13250): set(): AudioFlinger could not create effect, status: -38
E/AudioEffects-JNI(13250): AudioEffect initCheck failed -5
E/AudioEffect-JAVA(13250): Error code -5 when initializing AudioEffect.
W/WrapEqualizer(13250): createEqualizer() -> Effect library not loaded
Run Code Online (Sandbox Code Playgroud)
摩托罗拉Xoom [Android 4.1.2]
在构造函数之后似乎无声地失败.然后调用getProperties()它崩溃了.
java.lang.RuntimeException: AudioEffect: set/get parameter error
at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1247)
at android.media.audiofx.Equalizer.getProperties(Equalizer.java:532)
Run Code Online (Sandbox Code Playgroud)
Nexus 4 [Android 4.2.1]
使用audioSessionId = 0一切正常但是使用任何其他数字时,每当我尝试将预设,波段电平,低音增强设置为ON或Virtualizer更改为ON时,设备将报告以下静音错误.报告的效果ID因我尝试修改的FX而异.
W/AudioPolicyManagerBase(165): unregisterEffect() unknown effect ID 1381
Run Code Online (Sandbox Code Playgroud)
更新08/11/12:
我可以使用audioSessionId0.我知道它已被弃用但它使用权限工作.<uses-permission …