嗨我有一个在线运行的应用程序,服务器中有链接,但问题是有人删除了应用程序并获取链接并在浏览器上实现它们并成为应用程序中的问题有没有办法隐藏链接?
答案 0 :(得分:0)
使用身份验证,这样没有密码就无法访问您的链接。
答案 1 :(得分:0)
根据你在评论中写的内容,假设你有这个:
Picasso.with(context).load("roman-android.com/" + View_stories.files + "/" + stories.images_view).into(holder.img_view);
您需要隐藏roman-android.com/
。
你可以这样做:
在Android项目中打开gradle.properties
文件。此文件应该是保密的,不能在线获取。
在gradle.properties
中写下你的链接:
mySecretLink="roman-android.com/"
转到您的build.gradle(module:app)
文件,然后在android
下添加:
buildTypes.each {
it.buildConfigField "String" , "MY_SECRET_LINK", mySecretLink
}
这样你就会有这样的事情:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
//blah blah stuff
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildTypes.each {
it.buildConfigField "String" , "MY_SECRET_LINK", mySecretLink
}
}
repositories {
jcenter()
mavenCentral()
}
dependencies {
//blah blah stuff
}
这将告诉gradle将String
添加到BuildConfig
类,该类是在构建时生成的,并且完全在代码外部生成。
转到您的代码并执行此操作:
Picasso.with(context).load(BuildConfig.MY_SECRET_LINK + View_stories.files + "/" + stories.images_view).into(holder.img_view);
注意:我已尝试解释this并根据您的情况进行调整。我的解释基于我的旧代码,我这样做是为了隐藏我的API密钥。
显然你需要对gradle.properties
文件保密。您只能在编译时使用其实际值,并为整个编程过程保留用于您的信息的别名(例如MY_SECRET_LINK
)。