我已经发布了一个应用程序Google Play
,现在我想为除了一组已知的beta测试人员以外的任何人取消发布.我的问题是,如果我取消发布它,它似乎也未被发布用于beta测试者(因为beta测试者功能需要已发布的应用程序).
我能做什么?换句话说,我想做的是:
我已经好几天没试成功了.
StackOverflow中有很多类似的问题,甚至其中有两个与我的完全相同,但是没有答案和未解决:1)将PHP RSA PublicKey转换为Android PublicKey 2)Android:如何使用RSA密钥解密openssl加密文件?
我的场景:我有一些使用RSA加密的文本(未经我加密).我在res/raw文件夹中有一个"public.key"文件,其中包含解密所需的公钥(与用于加密消息的私钥相关的公钥),格式如下例所示:
我看到很多关于如何解密RSA文本的例子,如下所示:
public static byte[] decryptRSA( PublicKey key, byte[] text) throws Exception
{
byte[] dectyptedText = null;
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
dectyptedText = cipher.doFinal(text);
return dectyptedText;
}
Run Code Online (Sandbox Code Playgroud)
但我的问题是,如何从文件中获取正确的PublicKey实例?没有这方面的例子.
如果我只是尝试:
InputStream is = getResources().openRawResource(R.raw.public);
DataInputStream dis = new DataInputStream(is);
byte [] keyBytes = new byte [(int) is.available()];
dis.readFully(keyBytes);
dis.close();
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
return keyFactory.generatePublic(spec);
Run Code Online (Sandbox Code Playgroud)
我在返回句子中得到一个InvalidKeyException.我需要解码Hex或Base64吗?公钥文件的第一行和最后一行是不是有问题(带有"---- BEGIN PUBLIC KEY ----"等等)?
也许我们可以在StackOverflow中第一次正确地得到这个答案:-)
在Android应用中,我需要为特定外设使用特定的SDK.
使用单个构建变体,一切正常:
provided fileTree(include: ['peripheral.jar'], dir: 'libs')
compile fileTree(exclude: ['peripheral.jar'], dir: 'libs')
Run Code Online (Sandbox Code Playgroud)
问题是SDK依赖于安装在实际外设中的共享库.如果我尝试在任何其他Android设备上安装该应用程序(为了调试其他功能),我会收到INSTALL_FAILED_MISSING_SHARED_LIBRARY
错误消息.
我想我可以使用两种构建变体:
release
,使用SDKdebug
,那不使用SDK我已经尝试仅在release
构建类型中包含SDK :
releaseProvided fileTree(include: ['peripheral.jar'], dir: 'libs')
releaseCompile fileTree(exclude: ['peripheral.jar'], dir: 'libs')
Run Code Online (Sandbox Code Playgroud)
但是,由于缺少导入,我无法编译项目.
所以我复制了唯一使用这些导入的类:
在main/java/package/PeripheralManager.java
:
public class ScannerManager {
// fake
}
Run Code Online (Sandbox Code Playgroud)
在release/java/package/PeripheralManager.java
:
import peripheral; <- IT FAILS WHEN COMPILING
public class ScannerManager {
// real code
}
Run Code Online (Sandbox Code Playgroud)
无论我选择的构建类型如何,如果导入未在其中一个变体中解决,我无法编译项目...
我有2个RStudio项目,其中一个(项目RED)依赖于另一个(项目BLUE,此外还有许多其他CRAN依赖项)。我一直在计算机上全局安装项目和所有CRAN依赖项,但是现在我试图将它们适应到packrat
新计算机上(目前,我仅在全局范围内安装了packrat
软件包本身)。
Build > Install and Restart
,由于,所有CRAN依赖项都在本地安装packrat
。一切都很好,我得到了安装路径:/Users/MYUSER/Documents/GitHub/PATHTOMYPROJECT/packrat/lib/x86_64-apple-darwin15.6.0/3.6.1
packrat > Use packrat with this project > Add local repository > [Path of step 2]
然后我得到这个错误:
> packrat::init(options = list(local.repos = c("~/Documents/GitHub/PATHTOMYPROJECT/packrat/lib/x86_64-apple-darwin15.6.0/3.6.1")))
Initializing packrat project in directory:
- "~/Documents/GitHub/PATHTOMYPROJECT"
Error in read.dcf(...) : no se puede abrir la conexión
Además: Warning message:
In read.dcf(...) :
cannot open file '/Users/MYUSER/Documents/GitHub/PATHTOMYPROJECT/packrat/lib/x86_64-apple-darwin15.6.0/3.6.1/NAMEOFTHELIB': it is a directory
Run Code Online (Sandbox Code Playgroud) 我需要data.frame
通过规则列表动态地对 a 进行子集化。例如,像这样的规则:
df[col1] == 's'
df[col2] == 'z'
df[col3] == 'a' | df[col3] == 'b' | df[col3] == 'c'
静态地,我只想:
df <- df[df[col1] == 's'
& df[col2] == 'z'
& (df[col3] == 'a' | df[col3] == 'b' | df[col3] == 'c'), ]
Run Code Online (Sandbox Code Playgroud)
如果我有一个list
存储所有规则的方法,我怎么能在动态上实现相同的目标:
rules <- list(col1 = c('s'), col2 = c('z'), col3 = c('a', 'b', 'c'))
Run Code Online (Sandbox Code Playgroud)
我只想这样做:
df <- magic(df, rules)
Run Code Online (Sandbox Code Playgroud)
这样的事情可能吗?
Sequel Pro 1.1.2 + MacOS Mojave 10.14.5 + MySQL 8.0.16 (Homebrew) 在尝试连接到本地(且仅限本地)数据库时出现问题。它会弹出一个反馈对话框和一个永无休止的进度条。使用远程数据库时没有问题。
他们的 Github 项目页面中有一个错误报告,但看起来他们因为重复而关闭了它......并且也关闭了重复的!
android ×3
r ×2
beta-testing ×1
dataframe ×1
encryption ×1
google-play ×1
macos ×1
mysql ×1
packrat ×1
rsa ×1
rstudio ×1
sequelpro ×1